https://github.com/antoniotejada/imageviewer
Simple but featured image viewer, designed for speed when browsing network drives and on low power computers like Raspberry Pi 2
https://github.com/antoniotejada/imageviewer
image-processing image-processing-python image-viewer image-viewing imageviewer irfanview linux linux-app lxde numpy pyqt pyqt5 python python2 python27 qt qt5 raspberry-pi raspbian windows
Last synced: 19 days ago
JSON representation
Simple but featured image viewer, designed for speed when browsing network drives and on low power computers like Raspberry Pi 2
- Host: GitHub
- URL: https://github.com/antoniotejada/imageviewer
- Owner: antoniotejada
- License: gpl-3.0
- Created: 2022-07-24T23:25:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-02-21T00:45:53.000Z (2 months ago)
- Last Synced: 2025-03-24T15:21:55.343Z (about 1 month ago)
- Topics: image-processing, image-processing-python, image-viewer, image-viewing, imageviewer, irfanview, linux, linux-app, lxde, numpy, pyqt, pyqt5, python, python2, python27, qt, qt5, raspberry-pi, raspbian, windows
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ImageViewer
Simple but featured image viewer, designed for speed when browsing network drives
and on low power computers like Raspberry Pi 2## Screenshots
### Image and Thumbnails

*[Castle Defence © Greg Rutkowski](https://www.artstation.com/artwork/k4lYqK)*### 64-bit Windows 10

*[Castle Defence © Greg Rutkowski](https://www.artstation.com/artwork/k4lYqK)*### 32-bit Windows XP

*[Castle Defence © Greg Rutkowski](https://www.artstation.com/artwork/k4lYqK)*### 32-bit Raspberry Pi LXDE

*[Castle Defence © Greg Rutkowski](https://www.artstation.com/artwork/k4lYqK)*## Installing
### 32-bit Raspberry OS
1. Install Python 2.7
1. sudo apt install python-pyqt5 (pip install python-qt5 fails with missing egg-info)### 64-bit Windows 10
1. Install Python 2.7
1. pip install python-qt5 (or follow https://github.com/pyqt/python-qt5)### 32-bit Windows XP
python-qt5 is a 64-bit Windows project so it doesn't work in 32-bit Windows XP,
fortunately some versions of Anaconda do support PyQt5 and 32-bit Windows XP.1. Install Anaconda 2.2.0 which is the last Anaconda Python 2.7.x version that
is known to work on XP (2.3.0 also seems to work, but has missing DLL paths
at runtime). This will install Python 2.7.9
1. Create a conda python 2.7 environment, this will install Python 2.7.13 in
that environment.
1. conda install PyQt5## Running
imageviewer.py [image/slideshow filepath]
### LXDE File association
1. Copy the .desktop file to `.local\share\applications\imageviewer.desktop`.
1. If `imageviewer.py` is not in the path, modify the Exec= entry to the
absolute path, eg
```
Exec=/usr/bin/imageviewer.py %f
```
1. Set the association with, eg
```
xdg-mime default imageviewer.desktop image/jpeg
```
Stored at `~\.config\mimeapps.list`## Features
- Uses PyQt5 and Python 2.7
- Works on 32-bit Raspberry Pi 2 with LXDE
- Works on 64-bit Windows 10, 32-bit Windows XP
- Loads Qt-supported images (currently PyQt5 reports support for .bmp, .dds,
.gif, .icns, .ico, .jp2, .jpeg, .jpg, .mng, .pbm, .pgm, .png, .ppm, .svg,
.svgz, .tga, .tif, .tiff, .wbmp, .webp, .xbm, .xpm)
- Play/pause animated images (currently only GIF, PyQt5 fails in different ways
to support other animated image formats like APNG, MNG, multipage TIFF,
animated WEBP)
- Fast open dialog box on slow network drives, automatic deferral of file stat
fetching after one second timeout, substring keyboard search, history
navigation, directory path button navigation.
- Slideshow of current image directory
- Pseudo numeric file sorting for open dialog and slideshow of current image
directory
- Support for .lst files for slideshow contents (text files with
newline-separated filepaths, absolute or relative to the .lst filepath)
- Background next/previous image prefetching
- Image rotation in 90 degree increments
- Image gamma correction
- Image largest/smallest dimension fit to window
- Page scrolling when in fit to smallest
- Fullscreen mode
- Keyboard and mouse support (doubleclick to toggle fullscreen, wheel for
next/previous image, middle click to start/stop slideshow)
- Copy / paste image path from clipboard
- Paste newline-separated paths as slideshow contents
- Background color cycling
- Delete current image
- Refresh current image
- Toggable thumbnail splitter pane
- Asynchronous tumnbnail loading## Requirements
- Python 2.7
- PyQt5
- Numpy (optional, otherwise gamma correction will be disabled)## Todo
- Bugfixing
- Better error handling
- More command line options (debug level, open from clipboard, etc)
- Code cleanup
- More image filters (brightness, contrast, auto-gamma, etc)
- Save configuration, window & dialog position