-
Notifications
You must be signed in to change notification settings - Fork 365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Account for transparent pixels in .PNGs #100
Comments
For what it's worth, if someone could point me in the right direction as to how to implement this (ie if another platform supports it) I would be more than happy to give it a shot! I'm brand new to using this tool and would love to help out |
The specification for the core algorithm is pretty hand-wavy and subjective, but it would be good to have some kind of specification or standard "things to consider" like color space conversions and transparency and all that to guide alternative implementations that would each make compatible results with each other. |
Is there a workaround for this, it is a breaking thing for me in my project? |
The workaround would be to possibly multiply the RGB color channels with the A channel, causing the transparent pixels to contribute less to the generated blurs, but will cause transparent areas to contribute black to the color-averages. Another solution is to use transparency to linearly interpolate between the source image's RGB colors and a specified matte color. An offline way to accomplish all this, is to just flatten the image to remove transparency ahead of time before generating the blur-hash, like previously mentioned. The real fix, would be for blur-hash to support Alpha-transparency so that it can properly contribute to the blurred image. |
Could there be a separate issue for that? |
Kindly commenting so that this issue doesn't go stale. I'd be very much interested in finding a solution for this |
Maybe checkout Thumbhash as an alternative that supports alpha: https://github.com/evanw/thumbhash |
Since the alpha value is ignored during the encoder implementation, that makes all transparent pixels appear black which doesn't seem acceptable to most people. A simple acceptable solution will be to check if the The alpha value can be retrieved at |
I'm working on an iOS app that has a ton of images with transparent pixels. As of right now, it seems like any pixels that are transparent are treated as if they were black.
becomes
It may be that I'm calling it incorrectly, but I didn't see anything in the docs about this.
The text was updated successfully, but these errors were encountered: