-
-
Notifications
You must be signed in to change notification settings - Fork 6k
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
[APNG] UIImage RenderingMode is not original at first, I want to render original image at first. #3665
Comments
We have no any design to support |
I don't think it's a common usage case. Maybe this need much more work than expected. Because for We use layer to draw frame |
Yes I know the layer architecture using SDAnimatedImagePlayer. i just using options below,
and use this method in |
Misundertanding your question. I previouslly think you want But I think it should correctly render Are you change the Check https://developer.apple.com/documentation/uikit/uiimageview/1621059-tintcolor?language=objc |
The decoded Which inherit the UIKit's default value for We don't override the |
Yes it should correctly render alwaysOriginal. I want to know the solution of it. |
I guess your first appear rendering image is from [super setImage:image] Since SDAnimatedImage is subclass, UIKit will try to something render. And then, our player called back with the actual first frame (from APNG) and display directly on CALayer, then render as normal |
It is so wired. It is not reproduce in simulator. |
Sounds UIKit bug. Provide details about your test environment OS version |
Actually I didn't find this issue on our Demo running simulator A stupid quick hack I guess it to revert the #3459 This will trigger a sync callback after first "setImage:" (after that PR we use async) Since UIKit only render the last status in the same runloop, the sync callback will override the CALayer contents and should not show that temp tinted image poster. But this will break SwiftUI integration. And I don't think it's a correct fix, but hide the issue |
My environment:
Thank you for sharing #3459 .
to comment(//). it is not reproduce my issue. it seems to solve my issue Can you check this line |
No. It hide the issue, but not fix the issue |
Okay thank you for your consider about this issue. |
@0k1019 Provide a full demo (archive to zip and upload here) I'll try to debug with. Also, this only reproducable in Real Device ? Not simulator, correct ? |
Real Devices i reproduces
full demo video Thank you for support. |
New Issue Checklist
Issue Info
Issue Description and Steps
I have issue with first load APNG file load has
<SDAnimatedImage:0x28232ce70 anonymous {480, 400} renderingMode=automatic(original)>
So it render with Template with tint color.Can you share any options for Rendering Mode original always?
image path: https://apng.onevcat.com/assets/elephant.png
The text was updated successfully, but these errors were encountered: