gpt4 book ai didi

delphi - Delphi 2009 图像列表和图像中的 PNG

转载 作者:行者123 更新时间:2023-12-03 15:22:51 26 4
gpt4 key购买 nike

D2009 引入了对图像和图像列表的 PNG 支持。

但是...

我有一个包含带有 alpha 的 png 图像的图像列表。我想使用 TImage 将其中之一放置在表单上。我该如何做到这一点并得到很好的合成图像?

作为我面临的问题的示例,下面的代码无法正常工作,并产生所示的效果:

ImageList.GetBitmap(index, Image1.Picture.Bitmap);

alt text
(来源:clip2net.com)

再解释一下:

将 Timage 拖放到窗体上,并在设计时使用 Picture 属性加载带有 alpha 的 PNG 文件。请注意它是如何以完全透明的方式正确合成到表单上的。

现在,在设计时,添加第二个空 Timage,添加 TImagelist,并将相同的 PNG 添加到图像列表。如何将 TImageList 中的 PNG 分配给第二个 TImage,并使其看起来与第一个 TImage 相同?

最佳答案

根据我的研究,我发现 TImageList 将图像存储为 TBitmap,因此 alpha 信息在存储中丢失,并且您无法使用 TImageList 的当前实现来实现您正在寻找的内容。

更新:

再做一点实验,通过下面的代码,我可以使用下面的代码来实现透明度。

ImageList1.ColorDepth := cd32Bit;
Image2.Transparent := True;
Image2.Canvas.Pen.Style := psClear;
Image2.Canvas.Rectangle(0, 0, Image2.Width+1, Image2.Height+1);
ImageList1.Draw(Image2.Canvas, 0,0,0);

但它看起来不像加载的 png 那样漂亮。

关于delphi - Delphi 2009 图像列表和图像中的 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/532777/

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