![]() ![]() This slightly-longer variant (only the last frame was stretched in time so that overall it loops for almost 6:08 m:s) fails to render: While this GIF (shortest frame lasts for 100ms overall duration is almost 6 min) renders fine everywhere: I retested this issue with another GIF animation that was edited for various loop durations. This is a screen recording on YouTube demonstrating the issue in action: ![]() This fail-to-render behavior happened on all three Windows desktop clients (stable, Ptb, & Canary) as well as the Microsoft Edge browser client & the Android mobile client. On a browser tab, it renders & plays just fine, and it used to render & play just fine on Discord until December 25 (even as an uploaded emoji) since then, it stopped rendering, unless its final frame was shortened such that the overall loop was reduced to just 5 minutes like this: Has 80ms duration for its shortest frames and a nearly-5-minute-long final frame, resulting in an overall loop duration of a little more than 5 minutes. For example, this GIF that was an actual emoji at some server: Their peculiarity is that they have very long loop durations (relative to the time duration of their shortest frames) and at least one ridiculously-long final frame (again relative to the shortest frames within their animation loops). ![]() Sometime on or around December 25, 2020, certain GIF animations (& animated emojis) stopped rendering on Discord. Related.This is partly a summary of bug report 10747914, submitted by me on Decem& handled by Erwin since. The resulting GIF file has no transparent pixels, and the colour used for each pixel is approximately the residual colour from the original PNG pixel.īut I can't detect or manipulate any information about transparency through the gflax object. What I want to do is load a PNG file, make decisions about which pixels to make transparent based on the level of transparency in the original image, reduce the colour depth, and save a GIF. Suppose I have a PNG file with large regions 100% transparentĪnd examine oImg.GetColorAt(0,0) (which is transparent) I get FFFFFF I have only a GetColorAt(x,y) method, which returns the translated color from an indexed image. This does not make public a "TransparentIndex" property, nor can I see anything which tells me what color index a pixel is. The only class I can see published from this library is "GflAx". Then maybe I don't understand the library, or have the wrong thing. eg if "transparent" is black plus another colour index is opaque black, I can't tell (a) what the transparent colour was at all or (b) which "black" pixels were / were not supposed to be transparent. I don't see any way of figuring out if that was actually supposed to be transparent or opaque, and no way of separating the "colour" of the transparent index a colour-indexed file from a matching opaque colour. All I get is the "colour" of the transparent pixel. If this is already possible in gflax 2.82 I'm not seeing it. In either case, the ability to render / overlay the loaded image over either another image or a specificed background colour (such that the background shows "through" appropriately) would be really useful. (Might as well load "pixel" transparency simply as fully alpha transparent.)Īlpha transparency not catered for, but pixel transparency remembered from colour-indexed file. Pixel transparency remembered when loading from a colour-indexed file with transparency. Is there any plan to address this? What sort of time frame?Īlpha transparency remembered when loading from a full colour PNG. When I use LoadBitmap to open a GIF or PNG, transparency info is lost and I can't find any way of retrieving it. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |