【问题标题】:Delphi, ImageList that handles BOTH png and bitmapsDelphi,同时处理 png 和位图的 ImageList
【发布时间】:2011-01-11 11:32:20
【问题描述】:

最近我发现 TPngImageList 组件 (http://cc.embarcadero.com/Item/26127) 非常好,但它处理 only png 图像...我想要一些允许将 pngimages 与位图,因为我使用了很多位图,并且我不想在下周将这些位图转换为 png,但我希望能够为即将到来的功能添加 PNG 图像...... 到目前为止,如果找不到任何替代品,我会使用 GIMP 将 PNG 转换为位图。

【问题讨论】:

  • 如果你需要一周的时间来转换它们,那你就错了。它应该可以通过批处理操作轻松完成。你甚至可以编写一个 Delphi 程序来为你做这件事:b := TBitmap.Create; b.LoadFromFile; p := TPngImage.Create; p.Assign(b); p.SaveToFile;
  • 问题将是从每个表单中导出图像......与替换 imagelist 的类名相比(两个简单的正则表达式 + 一个用于将单元添加到“使用”列表)......
  • 为什么需要导出任何东西?你还没有艺术部门的原始图像文件吗?
  • 大声笑,除了我没有艺术系。实际上我确实有它们,但重新排序它们仍然需要时间。此外,一些第三方插件在运行时添加了自己的位图,我也不介意更改 SDK。

标签: delphi png bitmap delphi-7 imagelist


【解决方案1】:

png2bmpbmp2png 来拯救这些图像文件的自动命令行转换。

从 Delphi 2009 开始,TImageList 原生支持 PNG 图像为 Nick Hodges announced

【讨论】:

  • 谢谢,如果我没有找到其他任何东西,我需要自己做...... D2009 对我来说是无法访问的 :(
  • 您提到的组件适用于 D2009/2010。尽管代码应该与 D7 及更高版本兼容,但 D2009 以下的 Delphi 版本缺少文件。由于许可证更改,这些文件不再可用(或者更好的是:可能不再分发)。
  • @michal:请在您的帖子中添加一个 Delphi 版本(即 [delphi-7])的标签。这使参与者更容易根据您的具体情况定制答案。
  • @Uwe 在Delphi 2007 中没有TPNGImage 确实是一个遗憾。Delphi 还有其他PNG 支持的实现,旧材料的下载仍然可用。根据您的原籍国,这可能合法与否。 google.nl/search?q=TPNGImage
  • 我很高兴将旧文件的副本保存在安全的地方。维护 TPngImageList 的目的仅仅是因为我想与我的 D2009 之前的代码兼容。
【解决方案2】:

这并不能回答您的问题,但如果您确实需要将它们全部转换,我建议您使用 GIMP 上的精彩 ImageMagik,它将让您的生活变得超级轻松,并使用一个简单的脚本转换您的所有文件。

【讨论】:

  • 我知道 ImageMagick 但问题是我需要自己提取位图...
【解决方案3】:

Delphi 2009 及更高版本中的 TImageList 组件处理 PNG 和 BMP 文件等。

【讨论】:

  • 据我所知并通过快速检查得到支持 Delphi 2007 不支持 TImageList 中的 PNG 文件。这是在 Delphi 2009 中引入的。
  • 现在让它可用于 Delphi 2007 ;-)
  • 但是透明度没有处理好。 TPngImageList 正确处理透明度。
猜你喜欢
  • 2011-06-21
  • 1970-01-01
  • 2015-10-23
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
相关资源
最近更新 更多