Skip to content
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

iOS 融合图片变色 #124

Closed
unknowntc opened this issue Aug 2, 2021 · 14 comments
Closed

iOS 融合图片变色 #124

unknowntc opened this issue Aug 2, 2021 · 14 comments

Comments

@unknowntc
Copy link

issue 模版

  1. 问题描述 必现 融合本地图片没做任何处理也变色
  2. 运行环境 所有iOS
  3. 相关日志
  4. 播放错误的文件 https://game-play.oss-cn-hangzhou.aliyuncs.com/uploadfile/2021/08/02/3ef236c626cb2de3ab7f78a95dff2ffd.mp4
@Styx-S
Copy link
Collaborator

Styx-S commented Aug 2, 2021

看了一下,是否是因为视频素材中贴图片对应位置底色的原因?
demo中使用这个素材,同时去除qq.png图片的alpha通道,不会变色

@unknowntc
Copy link
Author

看了一下,是否是因为视频素材中贴图片对应位置底色的原因?
demo中使用这个素材,同时去除qq.png图片的alpha通道,不会变色

用这个透明的也变色 https://game-play.oss-cn-hangzhou.aliyuncs.com/uploadfile/2021/08/02/229127602d89206a5f0efdbf1c7d994a.mp4

@unknowntc
Copy link
Author

看了一下,是否是因为视频素材中贴图片对应位置底色的原因?
demo中使用这个素材,同时去除qq.png图片的alpha通道,不会变色

您换张图片试试 qq.png这张图片我试了 也是变色的 只是不明显

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 2, 2021

@unknowntc
Copy link
Author

有去除alpha通道吗
qq.png去除alpha通道
之前反馈的图,因为截出来是jpg,无需去除

仔细看qq的嘴和脚的颜色 变色了啊

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 2, 2021

使用取色计,可以看到两边的颜色在正常的幅度内(看起来不一致是因为两边的光圈,你可以只截内部图出来比较一下,是一样的)

@unknowntc
Copy link
Author

使用取色计,可以看到两边的颜色在正常的幅度内(看起来不一致是因为两边的光圈,你可以只截内部图出来比较一下,是一样的)
明显不一样啊

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 2, 2021

我看下这个问题😓
之前认为是融混的问题,一直在比较图片两边的颜色,想岔了

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 2, 2021

@unknowntc 看了一下,demo中变色是因为图片载入纹理时为sRGB格式
你可以试下在QGVAPTextureLoader.m:52行添加一个设置 MTKTextureLoaderOptionSRGB : @(NO)

@unknowntc
Copy link
Author

@unknowntc 看了一下,demo中变色是因为图片载入纹理时为sRGB格式
你可以试下在QGVAPTextureLoader.m:52行添加一个设置 MTKTextureLoaderOptionSRGB : @(NO)

改这个有什么其他问题吗 能发个版吗 用的pod直接改源码不好

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 3, 2021

@unknowntc 看了一下,demo中变色是因为图片载入纹理时为sRGB格式
你可以试下在QGVAPTextureLoader.m:52行添加一个设置 MTKTextureLoaderOptionSRGB : @(NO)

改这个有什么其他问题吗 能发个版吗 用的pod直接改源码不好

我可以先拉个分支(feature/ios_sRGB)提交这块改动,你可以暂时先通过 :branch 来引用pod
有没有其他问题、需不需要使用其他方式解决还需要后续评估一下

@akanchi
Copy link
Contributor

akanchi commented Aug 3, 2021

之前有类似的问题,如果图片的color profilesRGB, 使用newTextureWithCGImage 创建 Texture 会失败, 用cg_loadTextureWithImage 则没问题
#57
#19

@Styx-S
Copy link
Collaborator

Styx-S commented Aug 4, 2021

是的,主要原因是这里依赖于CGImage的格式
要看下后面这里怎么改

@unknowntc
Copy link
Author

是的,主要原因是这里依赖于CGImage的格式
要看下后面这里怎么改

这个问题有解决吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants