-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Change Log
Arthur edited this page May 8, 2016
·
32 revisions
2.1.2
- Minor fixes.
2.1.1
- Built-in
CropImageActivity
for quick start and common scenarios. - Save cropped image to Uri API
saveCroppedImageAsync(Uri)
. - Handle possible out-of-memory in image load by down-sampling until succeed.
- Minor fixes.
2.0.1 (Beta)
- Fix counter clockwise rotation resulting in negative degrees (#54).
2.0.0 (Beta)
- Auto-zoom: zoom-in when crop window takes less than 50% of the image, zoom-out when more than 65%.
- Handle cropping of non-straight angles rotations for URI loaded images.
- Improve performance for image rotation.
- Improve performance for rotation due to exif orientation data.
- Improve performance for orientation change.
- Preserve crop window on rotations for straight angles - 90/180/270.
- Preserve crop window on orientation change.
- Handle max allowed texture size on device by down-sampling to be within the limit.
- API breaking changes:
- Renamed
CropImageHelper
toCropImage
- Removed
getActualCropRect()
andgetActualCropRectNoRotation()
, replaced by 'getCropPoints()' and 'getCropRect()'. - Moved to custom
CropImageView.ScaleType
for 'setScaleType()' - Removed
CropShape
fromgetCroppedImage
API, addedCropImage.toOvalBitmap
. - Known issues:
- Boundaries and orientation change for non-straight angle rotation of images.
1.2.5
- Fix off-by-1 error in cropping rectangle, double verify width == height for 1:1 fixed aspect ratio.
1.2.4
- add fallback in crop to use
BitmapFactory
whenBitmapRegionDecoder
fails
1.2.3
- Fix
getActualCropRect
to adjust by sampling size for images loaded from URI. - Fix crop window size bounded with fixed aspect ratio and move of a single edge.
- Added
CropImageHelper
class to simplify cropping image work.
1.2.2 (beta)
- Fix
setShowCropOverlay(boolean)
not working properly. - Fix crop window bounds issue when cropping image is too small relative to min/max bounds with fixed aspect ratio.
- Fix crop window reset on on-screen keyboard show/hide.
1.2.1 (beta)
- Fix crop window resize bug with fixed aspect ratio
- Add
getRotatedDegrees()
to get how much the image was rotated during cropping - Add
setCropRect(Rect)
to set initial cropping window location and size to specific window on the image.
1.2.0 (beta)
Due too large changes in the internals please consider this a beta release, if you use it be sure to test is thoroughly and report any bugs you find (report no bugs will also be awesome) or use 1.1.0 until I feel 1.2.* is stable enough.
- Rewrite internal crop window handling.
- Add
crop
prefix to all customization resources to prevent naming collision (breaking change). - Add
CropImageView.Guidelines
enum of guidelines config instead of integer (breaking change). - Change custom attributes types to
dimension
where appropriate (breaking change). - Add
showCropOverlay
attribute andsetShowCropOverlay(boolean)
method allowing to hide/show crop overlay UI for animation or element transition. - Add
cropInitialCropWindowPaddingRatio
customization [0 - 0.5) to control initial crop window padding from image borders relative to image size. - Add min limit config on cropping window width/height in the UI (
cropMinCropWindowWidth
,cropMinCropWindowHeight
) - Add min/max config on cropping image result width/height (
cropMinCropResultWidthPX
,cropMinCropResultHeightPX
,cropMaxCropResultWidthPX
,cropMaxCropResultHeightPX
)
1.1.1
- Add customization support for border line, border corner, guidelines and background.
- Fix progress bar not showing on loading if previously bitmap was directly set.
1.1.0
- Deprecated
setImageUri(Uri)
. - Added
setImageUriAsync(Uri)
andgetCroppedImageAsync()
for better handling of slow image loading/decode/cropping. - Fixed Save/Restore state handling, proper orientation change expirience.
- Bug fixes on rotation and bitmap recycled error.
1.0.7
- Added
setSnapRadius(float)
allowing to disable snap by setting 0. - Nicer rectengular crop border.
- Fix oval shape rendering on old devices by disabling hardware rendering when required.