用CxImage 读取JPG转png透明之后,颜色模式为索引模式,如何修改成RGB颜色模式。希望能列出函数。

零隐 2019-03-27 05:22:06
如题。
我是想把已经转换好的透明png 把里面的黑色转成红色,但是文件设置的是‘索引颜色’模式,导致我绘制时都是灰色。怎么设置让它变成‘RGB颜色’模式呢?或者说怎么利用‘索引颜色’模式来改变颜色。
最好用CxImage类。
...全文
413 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
零隐 2019-04-01
  • 打赏
  • 举报
回复
引用 楼主 fly0413 的回复:
如题。
我是想把已经转换好的透明png 把里面的黑色转成红色,但是文件设置的是‘索引颜色’模式,导致我绘制时都是灰色。怎么设置让它变成‘RGB颜色’模式呢?或者说怎么利用‘索引颜色’模式来改变颜色。
最好用CxImage类。

这获取的图片就是索引模式,所以不能再转之前修改颜色。
srhouyu 2019-03-28
  • 打赏
  • 举报
回复
在索引颜色模式下,要修改颜色表,而不是是修改图像内容。改完再自行决定要不要转到RGB模式。这是比较方便的做法。 我对CxImage不太了解,不过应该就是类似这样的:

RGBQUAD black = {0,0,0,0};
RGBQUAD red = {255,0,0,0};
auto black_index = image.GetNearestIndex(black);
image.SetPaletteColor(black_index , red);

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧