fix Encode manipulator to make sure to interlace image if necessary #2
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.
Hi @Art4 ,
I made this additional change to make sure it will create interlaced PNGS / progressive JPGS if needed.
The old strategy I made was losing the interlace information when saving the image.
Background:
Sinve intervention v3 changed strategy about encoding image, it was necessary to create a new Image instance from scratch on Glide Encode manipulator.
On https://github.com/Art4/glide/blob/upgrade-to-glide-3/src/Manipulators/Encode.php#L49-L51
The
read
method will try to read the image using several Decoders until find the best suitable for it. When it finds, it will read the image blob. But there is a catch w/ Image Magick: when it reads back image, it will scratch any interlace info if present.Solution:
Change the interlace checking after reading the encoded image, to make sure the interlaced information will persist.