You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This library neither applies pre-multiplication nor removes it. We'll return the pixel values as they're stored in the file so it is up to you to know whether your image files come pre-multiplied or not.
The main image crate however does contain some amount of code for applying blending which I believe assumes that the image is stored non-premultiplied
In practice, DynamicImage's are usually not premultiplied because the majority of image files don't use premultiplied alpha.
However, there's some challenges to making that a convention everywhere:
Many formats (including PNG*) don't have a field to indicate whether they're premultipled or not, so the decoder has no idea what it is outputting.
Applying pre-multiplication is an irreversible operation: RGB colors in fully transparent areas are lost, and precision is reduced in partially transparent areas
*I think the PNG spec says images are always supposed to be non-premultiplied but people sometimes ignore that.
I couldn't find the string
premul
in the source code except for the algorithm in the blend filter 馃槄Are images decoded with alpha premultiplied or not? It doesn't matter for my application; it can handle either format.
The text was updated successfully, but these errors were encountered: