繁体   English   中英

Delphi:来自TImageList的TPicture

[英]Delphi: TPicture from TImageList

如何从TImageList获取TPicture?

我需要做Image1.Picture:=...TPicture来自图像列表的Image1.Picture:=...TPicture ,将图像加载到TImage中。

图像列表存储所有透明的PNG图像。

我试图使用位图( GetBitmap ),但我需要的是透明度。 不幸的是,我有一个使用位图的白色背景。

谢谢!

常规TImageList使用位图。 虽然它们可以是部分透明的,但它实际上只是假的。 在Delphi中,您可以通过为位图指定单个透明颜色来绘制透明位图。 确切的颜色将被绘制为100%透明,而其他颜色则不是。 通常颜色取自图像的左下角。

TPicture本身没有做任何事情。 它只是TGraphic后代的容器。 你必须找到一种可以透明的图像。

一种方便的格式是PNG。 PNG事件支持alpha通道,这意味着可以为每个像素分配不同的透明度值。

幸运的是, TPngImageLists结合了TImageList的易用性和PNG的强大功能。 你可以阅读这篇文章 它是荷兰语,但也许谷歌翻译可以帮助你。 或许你可以找到关于这个主题的英语资源。 我已经使用了这个图像列表,它很棒,因为你可以拥有带alpha通道的实际图标,并且仍然可以使用常规工具栏和速度按钮。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM