Focal Crop and Resize #301
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new
focalCropAndResizemethod to complement the existing focalCrop functionality.Problem
Since version 3 the result of the focalCrop has changed: #245
Previously
focalCropwould work similar to say->fit(fit: Fit::Max, ...)but centered on the focal point.Currently
focalCropaccepts $cropCenterX and $cropCenterY which seems to have changed to pixels instead of percentages.The documentation for
focalCropalso appears outdated; still referencing percentages,zoom,$focalXand$focalY(instead of $cropCenterX / $cropCenterY). I can see the upgrade guide references the removal of the$zoomparameter.Solution
To solve this problem I've created a new method
focalCropAndResizeand intended to match the behaviour in v2.Unlike
focalCropit:This is useful when you want to preserve the full context of an image while still enforcing a specific aspect ratio around a focal point.
Comparison
Original
Focal point @ 0:0
Size: 1600x1600
focalCropfocalCropAndResize