gpt4 book ai didi

delphi - D2007(2007 年 12 月更新)BRCC32、ICO、RES 和颜色深度问题/澄清

转载 作者:行者123 更新时间:2023-12-03 15:02:35 27 4
gpt4 key购买 nike

经过我想要的更多调查后,我得出了结论(可能是错误的),BRCC32 在创建具有不同颜色深度的 ICO 图像的资源文件时存在问题。

具体来说,如果 ICO 文件中的图标同时具有 8 位 256 色和 24 位 XP(alpha)图像,那么 BRCC32 将生成一个包含这些图标的 RES 文件,但同时包含 8 位和 24 位图像将被标记为 24 位。那么问题是,想要显示 24 位图像(即能够显示超过 256 色的图像)的系统将选择符合该要求的第一个图像。至少就我而言,这恰好是“伪”24 位 256 色图标。因此,您在桌面上看到的图标分辨率低于应有的分辨率。

使用HeavenTools的“资源调谐器”,可以清楚地看到“组图标”信息保存了8位图像的24位描述符。

我有两条路前进。删除 256 色 ico 图像,这会在生成的 RES 文件中仅生成“正确的”24 位 XP Alpha 图像。缺点是没有 256 色图标(如果您需要的话)。更好的方法是使用 http://www.godevtool.com/#rc 中的 GoRC.exe(资源编译器)作为 BRCC32 的替代品。这可以正确处理 8 位和 24 位图像的组合。结果是 Windows 可以选择适合系统显示分辨率的正确图标。

作为一个附带问题,我还发现 BRCC32 似乎无法处理 PNG 压缩图像(您会收到错误 15分配失败)。正是在寻找这个错误时,我遇到了 GoRC(来自 Jan Wichers 博客)。

是否有人有类似的经历来证实我的发现,或者我是否遗漏了一些关键知识?我的后续问题是,这在 D2009/D2010 中仍然是一个问题吗??

保罗。

最佳答案

我最近遇到了同样的问题 - 如果同一个图标中有 256 色和 32 位颜色子图标,BRCC32 资源编译器肯定会感到困惑。经过大量调查,似乎当图标组标题写入 .res 文件时,它总是放入 32 位的值,忽略实际的颜色深度。

我必须制作一个应用程序来解决这个问题,我已将其附在下面的源代码中。请记住,这是我所做的一个快速修复,它对资源文件中将找到的内容做出了一些假设,我认为这可能会对您有所帮助:

ResFix.zip

关于delphi - D2007(2007 年 12 月更新)BRCC32、ICO、RES 和颜色深度问题/澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470086/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com