Skip to content

Releases: tonyp7/ImageView

v2.4.6

13 Jun 02:30
7469ce6
Compare
Choose a tag to compare

This is a fairly small release in terms of actual change for end users but this is a very heavy refactoring in terms of code.

  • First of all, the drawing logic has been displaced in a custom PictureBox control that handles everything. ImageView is basically the PictureBox control "with some UI stuff around it".
    As this is of interest I have added a small demo project to showcase this picturebox control.
  • The code logic has been separated from the UI as much as possibly by pushing it aside in a "State" class. This is a much better and cleaner solution than what was there before (a hot mess of code in the windows form class file)

Changelog

New features

  • HEIC support (Apple's new default image format in IOS). This was already baked in ImageMagick but not officially supported in ImageView. (#19)

Bug Fixes

  • Images with alpha channels not displaying properly (#18)
  • Changing language resets the status bar (#16)

Other changes

  • All dlls are now under a /lib subfolder (#22)

Known issues

  • Pixel Coordinates are wrong above 32767 (#1)

Todo

  • Support for multi page ICOs
  • Support for animated GIFs
  • Browse palette of images when available
  • Add a check for updates functionality
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Custom toolbar (pick what tools should be seen and in which order)

v2.3.4

07 Jun 00:32
c97ee76
Compare
Choose a tag to compare

#Changelog

New features

  • Printing!

Bug Fixes

Other changes

  • N/A

Known issues

#1

Todo

  • Support for multi page ICOs
  • Support for animated GIFs
  • Browse palette of images when available
  • Add a check for updates functionality
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Custom toolbar (pick what tools should be seen and in which order)

v2.2.1

03 Jun 05:13
Compare
Choose a tag to compare

Notes

This releases mostly bring usage of a custom picturebox that performs tremendously better than the original Winforms component. You can now zoom all the way to 1600% without any performance issue. ImageView now only draws the portion of the image that is visible on screen. There are a lot of coordinate translations behind this one, but I'm quite happy to see it work!

Changelog

New features

  • Better zoom support all the way to 1600%
  • Better support for transparent images (add a white and grey checked pattern)

Bug Fixes

  • #2 Loading a corrupted image was crashing the program

Other changes

  • N/A

Known issues

#1

Todo

  • Support for multi page ICOs
  • Support for animated GIFs
  • Browse palette of images when available
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Custom toolbar (pick what tools should be seen and in which order)

v2.0.0

30 May 09:23
Compare
Choose a tag to compare

Notes

Support for multiple languages has been added. In its current state ImageView supports French in addition to English. ImageView is starting to be a substantial codebase, and the more you wait to implement languages support, the more painful it will be to retrofit. So I thought now is the time.

In addition, the builds are now digitally signed. That means you won't get the big scary warning message from Windows when trying to launch the installer. Paying over $100 just for having a third party generate a bunch of prime numbers for you is a complete racket, but there is no way around this at the moment.

Changelog

New features

  • Support for multiple languages has been added

Bug Fixes

  • N/A

Other changes

  • Binaries are now digitally signed

Todo

  • Add better support for transparent images (add a white and grey checked pattern)
  • Support for multi page ICOs
  • Support for animated GIFs
  • Browse palette of images when available
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Custom toolbar (pick what tools should be seen and in which order)

1.9.1

27 May 03:46
Compare
Choose a tag to compare

Notes

Support for archive file has been added! This means that ImageView can now load images inside a zip (or others) like any other image file.

Adding this support was not easy, as I had to refactor a big chunk of the code and most notably completely abstract the concept of file from its simple string fullname representation to a better Entry interface that splits into two implementations: FileEntry and ArchiveEntry.

At the heart of the zip engine lies 7z.dll and its very lightweight .NET interface SevenZipExtractor. It's performing really, really well.

Changelog

New features

  • Support for "Reader Mode" -- a mode that locks to fit to width when active
  • Support for CBZ / CBR manga/comic book archives (and many more archive files!)
  • Automatized image rotation according to image metadata (if available)

Bug Fixes

  • Fixed an issue where the image could be slightly cropped. Calculations have been fixed to use the panel ClientSize instead of the panel total Size.

Minor changes

  • You can now scroll down/up using the arrow keys. This goes with the reader mode "quality of life" improvements.

Todo

  • Add better support for transparent images (add a white and grey checked pattern)
  • Support for multi page ICOs
  • Support for animated GIFs
  • Browse palette of images when available
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support
  • Custom toolbar (pick what tools should be seen and in which order)
  • Give in to the absolute racket that are code signing certificates

v1.6.1

24 May 01:54
Compare
Choose a tag to compare

Notes

So far ImageView has been using the native .NET image class. It loads a limited subset of images. So I started looking at how to add for instance WebP. I got a proof of concept working really fast using the native WebP DLL and an open source WebP wrapper. It's pretty awesome, but it adds ~700kb of DLL and code to support just a single image file.

So instead of adding X specific implementations, I decided to go with the big guns and rely on ImageMagick in the backend. This has important ramifications because the program as a whole grew by a whopping 16 MB and now relies on an external DLL. The focus of the program remains on a lightweight and uncluttered easy to use interface, but the app is now short of 20 MB in size.

However, this means going forward ImageView supports pretty much all image formats commonly used; and that specific implementations should be very limited.

This decision is not set in stone. At the minimum a refactoring is needed to hide the backend image format behind an interface. This will open up possibilities to replace the JPEG decoder for instance with something like libjpeg-turbo.

Changelog

New features

  • Support for WebP, Canon Raw, Digital Negative, JPEG 2000, Adobe Photoshop, Scalable Vector Graphics, Truevision TGA thanks to ImageMagik.
  • Support for "Fit to Width" and "Fit to Height" image size modes

Bug Fixes

  • Fixed an issue where the image could be slightly cropped. Calculations have been fixed to use the panel ClientSize instead of the panel total Size.

Minor changes

  • Pressing ESC while using the zoom tool will now deselect the zoom tool

Todo

  • Automatized image rotation according to EXIF data (if available)
  • Add support for CBZ/CBR and add a read mode
  • Browse palette of images when available
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support
  • Custom toolbar (pick what tools should be seen and in which order)
  • Give in to the absolute racket that are code signing certificates

v1.4.1

22 May 11:38
Compare
Choose a tag to compare

Release notes

A great deal of under the hood changes have occurred for this release. Implementing a zoom function that actually works as it should was harder than it seems.

Refactoring of the picture resize function was absolutely necessary to make these changes; and relying on the "autosize" was no longer possible.

As a result, it may not look like it but this release is an important milestone for the app. It's ready for a bright future ahead!

Changelog

New features

  • Zoom! Zoom follows the same standards established by Photoshop, Paint.NET and the likes. Just press "Z" and start clicking on the image. Unzoom is achieved by using the ALT key.
  • Add possibility to load a default image view at start / load of next image or restore last settings

Bug Fixes

  • Fixed an issue where the picture size box would be trigger the resize event many times instead of once

Minor changes

  • Image move has been changed from left mouse button to middle mouse button
  • Added pixel coordinates on the bottom right of the screen
  • "AutoSize" has been renamed to "Best Fit"; and "Normal" has been renamed to "Real Size" as I feel like it better describes what this is achieving

Todo

  • Automatized image rotation according to EXIF data (if available)
  • Add support for CBZ/CBR and add a read mode
  • Browse palette of images when available
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support
  • Custom toolbar (pick what tools should be seen and in which order)

v1.2.2

17 May 09:59
Compare
Choose a tag to compare

Changelog

New features

  • Image rotation and image flip

Bug fixes

  • Image EXIF would sometimes not show on the information window
  • Fixed a bug where information form would crash when trying to re-order the rows

Minor changes

  • Image view mode now has a checkbox to better visualize which mode is active
  • All embedded images have been removed in favour of a proper resources file and a few icons have been added

Todo

  • Add possibility to load a default image view at start or restore last settings (today: restore settings only)
  • Image rotation (+automatized according to EXIF if available)
  • Browse palette of images when available
  • Add a Zoom tool with shortcut Z to zoom / unzoom (Alt modifier)
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support
  • Custom toolbar (pick what tools should be seen and in which order)

v1.1.2

15 May 13:53
Compare
Choose a tag to compare

Changelog

  • Added drag/drop functionality
  • FIXED: History doesn't reload properly
  • FIXED: If the app is closed in a maximized state, it will properly save normal state bounds on exit

Todo

  • Add possibility to load a default image view at start or restore last settings (today: restore settings only)
  • Image rotation (+automatized according to EXIF if available)
  • Browse palette of images when available
  • Add a Zoom tool with shortcut Z to zoom / unzoom (Alt modifier)
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support

Note about version numbers

Moving forward, a bug fix will increment the revision by 1. A new feature will increment the minor version by 1. If it reaches 10, it rolls back to 0 and increment the minor and/or major.

Download

v1.0.0

12 May 14:01
Compare
Choose a tag to compare

First initial release!

The application is now finally ready! ImageView is fully functional and can be used as an every day Windows Image Viewer!

Todo

There are quite a lot of ideas that can be implemented in the viewer. I write down a few here, as a reminder for myself and as a roadmap for the app.

  • Image rotation (+automatized according to EXIF if available)
  • Browse palette of images when available
  • Add a Zoom tool with shortcut Z to zoom / unzoom (Alt modifier)
  • Add a check for updates functionality
  • Add print preview / print
  • Manage file associations directly from settings
  • File Deletion: Add a switch based on the configuration to move to recycle bin by default instead of deleting.
  • File Deletion: In case of AunauthorizedAccessException prompt user to restart the app in admin mode
  • If a picture was moved while browsing a folder, recover gracefully by attempting to load the previous or next image
  • Multilingual support

Download

ImageView is available through an installer or simply as a portable app. Do not however that if you do not install ImageView, it won't be registered as a picture viewer for Windows 10 and you will have to associate files manually if you wish to do so.