Releases: davemorrissey/subsampling-scale-image-view
Releases · davemorrissey/subsampling-scale-image-view
Parallel image loading support, content URI EXIF rotation
- #98 Support EXIF rotation for content URIs
- #110 Avoid recycling of cached bitmap when view is reset
- #114 Workaround for URL encoded file paths
- #120 Option to use thread pool executor for image loading to avoid the view being blocked by other AsyncTasks
- Skip loading of tiles that have gone off screen while queued for loading
Cached bitmap flag, FloatMath replacement
Error reporting and preview fixes
Matrix rotation
- #48 Matrix tile rotation restored now using
Matrix.setPolyToPoly
to eliminate rounding errors that caused gaps between tiles. Temporary 2048px limit on tile dimensions removed.
Reverted matrix tile rotation
- Using a matrix to rotate tiles causes rounding errors resulting in intermittent black lines between them, so this change has been reverted.
- Tile size is temporarily capped at 2048x2048 to reduce the likelihood of OOMEs while creating rotated copies.
Remember to check your PNGs do not have an alpha layer to reduce the chance of an OOME, especially when using rotation!
Tile size bug fix
- Fixed a potential issue with images very close to a multiple of the canvas maximum bitmap size
Matrix rotation, moiré fix
Preview images, combined classes, event listener, region
This release includes breaking changes. Migrating activities and subclasses to the new version is simple, please see the notes in the README.
- Combined
ScaleImageView
andSubsamplingScaleImageView
into one class. Tiling can be enabled or disabled as appropriate.SubsamplingScaleImageView
can now display a bitmap. - Refactored ready events. When
onReady
is called, the view is ready to display an image (in previous versions this only indicated the source dimensions were known). - Simplified method of specifying the source image, reducing the proliferation of
setImage...
methods. - #37 Allow use of a preview image from resources, assets, filesystem or bitmap to enable gestures while a large full size image is loading.
- #46 Display a specified region of the source file.
- #40 Listener interface can be used to receive load errors and ready events.
- #41 No objects allocated in
onDraw
oronTouchEvent
to improve efficiency. - Fixed a bug with tile sizes that resulted in the last few pixels of some images being cropped.
- Fixed a bug with double tap zoom not respecting disabled pan.
- Fixed incorrect requested centre point after size change.