delphi – 如何从图标中提取特定大小的图像?

前端之家收集整理的这篇文章主要介绍了delphi – 如何从图标中提取特定大小的图像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从具有多个图像的图标中提取特定尺寸的图像或所有图像?

解决方法

你没有说明这是什么目的,并且有很多方法可以获得图标,一种方法可能比另一种方法更好,具体取决于目的.

但是,要从任意文件提取任意数量的“大”(32×32)和/或“小”(16×16)图标*,请使用ExtractIconEx功能.这使您可以从图标文件(.ico),EXE或DLL中提取这两种标准大小中的任何一个的一个或多个图标.图标文件可以包含多个图像,此功能可以让您获得所有图像.

函数将写入句柄数组,每个句柄都可以分配给TIcon实例的Handle属性.然后,如果您以任何其他方式加载TIcon,就可以像往常一样使用TIcon methods.请注意,Delphi XE的新功能是可以轻松地将其复制到位图via the Assign method. That article显示了如何访问所有库存(内置/标准)Windows图标,如果这恰好是您所追求的.

(旁注:我认为TIcon类允许您通过其LoadFromFile方法文件加载 – 这似乎在文档中缺失,但我很确定它存在.从内存中,只加载一个图标.)

(*) Actually,“large” and “small” can
be different to 32×32 and 16×16: use
the
07005
function with the SM_CXICON,
SM_CYICON,SM_CXSMICON,and
SM_CYSMICON flags to find out the dimensions of each type.

猜你在找的Delphi相关文章