New Concept for light image viewer – voidImageViewer – by Stamimail

Plug-in and third party software discussion.
Post Reply
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

Project page:
viewtopic.php?t=5623
(Edit: Project page in GitHub: https://github.com/voidtools/voidImageViewer)

Currently the viewer has no Status Bar.
Frames of a Gif can be represented in Status Bar like these:
HoneyView
Image
XnView
Image

Another suggestion is regarding Rates. Currently the viewer is able to set:
1. Slideshow Rate (for images)
2. Animation Rate (for a Gif image)
Decrease/Increase Rate is set by hotkeys or by Menu:
Play > Slideshow Rate >
Play > Animation Rate >

The choices of Rate are limited.

My suggestion is to replace this method, with the method used by media players.
The user will have (in "Options…") several various jump settings.
This will remove:
Play > Slideshow Rate > 250 Milliseconds … 1 Minute

https://i.stack.imgur.com/QyC7o.jpg
http://4.bp.blogspot.com/-qshgBCR6Ud0/U ... otkeys.jpg
http://img.gomlab.com/img/web/guide/eng ... mejump.gif
http://www.technogadge.com/wp-content/u ... p-Keys.jpg
https://i.stack.imgur.com/uwIw0.png
https://cyberraiden.files.wordpress.com ... .jpg?w=830

The current Slideshow Rate and the current Animation Rate will be displayed in Status Bar.
The changes the user does by the jumps/rate hotkeys are reflected in the Status Bar.

Time gets priority here. The program must be on time.
If there is a problem due to Quality/Speed, the image won't be displayed correctly (Time priority), or the User/Program will make the Quality lower (by converting/compressing the images. I don't know…).

----------------------------

About keyboard shortcuts

Of course, it is desirable to have the ability to set shortcut keys for all commands in the program, but it is not always possible...
[If it helps, just remember you don't have to make a GUI for that. Making an easy and clear way to configure Hotkeys by the INI file is also great, since it's something you set only once.]
Although, it would be right to seriously consider making this for some commands. [Naturally, like the commands under the menus: Play and Navigate.]
For Example:
Mousewheel up/down – Most of image viewers use these keys for one of two actions:
1. Next image / Previous image
2. Zoom in / Zoom out
It is highly recommended to give the user the ability to set it up.

Another thing to be considered is to use a shortcut key to switch between those 2 actions. For Example: MiddleClick [or a short click on LeftClick… - needs some try and error…]
The user will use the Mousewheel up/down for the first action (Next image / Previous image). When the user wants to use the second action (Zoom in / Zoom out), he will click on the MiddleClick and then will use the Mousewheel up/down for Zoom in / Zoom out. Another click on MiddleClick will make Mousewheel up/down works again as Next image / Previous image.
[An indication should be in Status bar, showing the current Action for Mousewheel. Navigate or Zoom.]

Regarding Zoom
It's highly recommended that the zoom will work in such a way that the same dot under the cursor in the beginning is the same dot under the cursor at the end.
So that if the user wants to get a closer look at something in the picture he will point on the object using the cursor and then Zoom In, and so he will be able to look at the enlarged object where he pointed.

Navigate
There are cases that the user drops a folder with subfolders to voidImageViewer like:
Images\Cars
Images\Animals
Images\Flowers



Each subfolder can be treated as a group.
Next and Previous commands are good for navigate in the Playlist image by image, but if the user wants to skip to the other group/subfolder, he will need another commands (and hotkeys) for that:
Next Subfolder and Previous Subfolder commands.

----------------------------

Slideshow and Animation rate will include also Negative rate (for backward/reversed Play - from the end to the beginning).
Playlist location as submenu is too deep and uncomfortable. It should be as a parent menu IMHO.
A Gif that its animation rate was changed by the user in the viewer could be easily saved as a new Gif with the new desirable rate by "Save as…" (Ctrl+S) command, And/Or by the next idea…

----------------------------

Gif disassembler and assembler - basic gif editor

The next idea was inspired by:

IrfanView > Options > Extract all frames...
http://thecontentauthority.com/blog/wp- ... enshot.png
https://img.raymond.cc/blog/wp-content/ ... frames.png

IrfanView lets you to extract the frames of a gif file.

Filename.gif

will be extracted to:

Filename_frame_0001.jpg
Filename_frame_0002.jpg
Filename_frame_0003.jpg
Filename_frame_0004.jpg



I don’t know if there is the knowledge to extract the original binary images, but if so, this will make voidImageViewer much more powerful by only adding 2 commands:
1. Extract all Gif frames...
2. Make a Gif from frames… (Animated Gif Maker)

The idea is that the user will use Windows Explorer (and other tools) features for making the real editing.
VoidImageViewer here has an important role since it can be used to view/play the separated frames files (jpgs) as if they were one animated Gif file. In this case, the slideshow is actually used as a Preview of Gif Maker.
In this way the user will be able to: split/join gif, rotate gif, remove frames from a gif and so on by Windows Explorer features (move/copy jpgs, rotate jpgs, delete jpgs…).

Furthermore,
Similar to Resource Hacker program, which creates a .rc file while extracting/saving resources,
In the same way voidImageViewer can create a CSV file while extracting all Gif frames.
This CSV file will include settings of the Gif file like Filenames and Rate columns, in such a way that the user will be able to set the time delay between the frames.

Presets (Hotkeys for user defined slideshow/animation rates) are for future.

Good Luck,
Stamimail :)
Last edited by Stamimail on Mon Jan 15, 2018 5:44 pm, edited 7 times in total.
void
Developer
Posts: 16748
Joined: Fri Oct 16, 2009 11:31 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by void »

Thanks for the suggestions.

I have been working on voidImageViewer.

I am considering an optional status bar and control bar.

voidImageViewer is capable of custom slideshow rates and animation rates (no UI option to change this yet)
I will most likely add a custom option to the slideshow/animation rate list so users can specify custom delays in milliseconds.

Ctrl + Left / Ctrl + Right will be the default keyboard shortcuts for next/previous animation frame.
Ctrl + Up / Ctrl + Down to adjust animation rate.
Ctrl + Space to play/pause animation.
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

Stamimail wrote:Regarding Zoom
It's highly recommended that the zoom will work in such a way that the same dot under the cursor in the beginning is the same dot under the cursor at the end.
So that if the user wants to get a closer look at something in the picture he will point on the object using the cursor and then Zoom In, and so he will be able to look at the enlarged object where he pointed.
I didn't find yet a program that does it with a perfect way. But trying the following may give some answers/ideas:
1. IrfanView zoom
2. Win + +/- (Windows Magnifier)
Also note that the Zoom Out doesn't have to work the same way as the Zoom In. (maybe it will be better to get 'the same dot under the cursor' also in Zoom Out but it is not a must)
The same dot under the cursor feature is especially needed in Zoom In rather than in Zoom Out.
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

I don't know how much slideshow transitions is right thing for a light image viewer (maybe as an extensions) but anyway,

I thought about related idea inspired by Snap2IMG program.
The Preview window of Snap2IMG gives a new idea for Image Viewer app - viewing photos by scroll.
It gives an effect of kind of slideshow.
Image

In the context of voidImageViewer it can be even more powerful.
Slideshow Rate controlled by jumps hotkeys can control and determine the speed of the auto scroll.
It can be with or without a scroll bar.
A scroll bar can let the user to scroll forward/backward manually through all the photos.
Without scroll bar for full screen.
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

File > Open File Location... (or Show in Explorer)
Should be also added to right click on image.
I saw in Nomacs viewer that they did it as Open with entry:
RightClck: Open with > Explorer
which means that the user can add another programs to "Open with >" .
Another thing I saw in Nomacs is regarding Navigation:
Menu: Panels > File Explorer (Hotkey: E)
When you play slideshow (Hotkey: space), the selection in File Explorer (navigation pane) is steps and advances according to the advancement of the pictures in the slideshow.
The way this feature works currently in nomacs it's not perfect IMO and needs some improvements, but the idea is to be able to navigate (skip to image or folder in the slideshow playlist) not only by a list (as currently in voidImageViewer (Navigation > Playlist)) but also by TreeView.
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

Navigate > Sort
When dropping files from Explorer and the like, sometimes you want the order/sort to be like the source.
For example:
Suppose you sort images in Explorer by dimensions, when you drag them and drop in voidimageviewer you will want to have the same order/sort as the Explorer.
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by Stamimail »

Stamimail wrote:I don't know how much slideshow transitions is right thing for a light image viewer (maybe as an extensions)
Ken Burns Slideshow
https://github.com/changbowen/Ken-Burns-Slideshow
void
Developer
Posts: 16748
Joined: Fri Oct 16, 2009 11:31 pm

Re: New Concept for light image viewer – voidImageViewer – by Stamimail

Post by void »

Added to my TODO list, thanks for the suggestion.
Post Reply