Delphi:t来自TImageList的图片

Delphi:t来自TImageList的图片,delphi,bitmap,image,timagelist,Delphi,Bitmap,Image,Timagelist,如何从图片列表中获取图片 我需要从图像列表中执行Image1.Picture:=…t图像,以将图像加载到图像中 图像列表存储所有透明的PNG图像 我试图使用位图(GetBitmap),但我需要的是透明度。不幸的是,我有一个使用位图的白色背景 谢谢 常规TImageList使用位图。虽然它们可以部分透明,但实际上只是一个赝品。在Delphi中,可以通过为位图指定一种透明颜色来绘制透明位图。该确切颜色将绘制为100%透明,而其他颜色则不是。通常,颜色取自图像的左下角 t图片本身没有任何作用。它只是T

如何从图片列表中获取图片

我需要从图像列表中执行
Image1.Picture:=…t图像
,以将图像加载到图像中

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

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


谢谢

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

t图片本身没有任何作用。它只是TGraphic后代的容器。你必须找到一种透明的图像

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


幸运的是,有TPngImageLists将TImageList的易用性与PNG的强大功能结合起来。你可以阅读。它是荷兰语的,但也许谷歌翻译可以帮助你。或者你可以找一个关于这个主题的英语资源。我用过这个imagelist,它很棒,因为你可以用alpha通道来显示实际的图标,但仍然可以用常规的工具栏和速度按钮

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

t图片本身没有任何作用。它只是TGraphic后代的容器。你必须找到一种透明的图像

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


幸运的是,有TPngImageLists将TImageList的易用性与PNG的强大功能结合起来。你可以阅读。它是荷兰语的,但也许谷歌翻译可以帮助你。或者你可以找一个关于这个主题的英语资源。我用过这个imagelist,它很棒,因为你可以用alpha通道来显示实际的图标,但仍然可以用常规的工具栏和速度按钮

TImageList不能保存PNG,只能保存图标和位图。@Remy Lebeau,因此,如果我在工具栏中使用带有PNG的图像列表,那么该图像列表会自动生成一个应用透明颜色的透明背景?我是否需要手动设置位图的透明颜色和透明度,以便在TImage中获得适当的结果?在我的情况下,底层图像列表实际上包含位图。这是一个Windows控件。@maxfax您可以使用普通的旧TImageList获得适当的部分透明图像。TImageList不能保存PNG,只能保存图标和位图。@Remy Lebeau,因此,如果我在工具栏中使用带有PNG的图像列表,那么该图像列表会自动生成一个应用透明颜色的透明背景?我是否需要手动设置位图的透明颜色和透明度,以便在TImage中获得适当的结果?在我的情况下,底层图像列表实际上包含位图。这是一个Windows控件。@maxfax您可以使用普通的旧TImageList获得适当的部分透明图像。TImageList很高兴地保存部分透明图像,并且已经保存了很长时间。我在D6中这样做,虽然它确实需要一个温和的黑客来实现它。黑客的需要在几年前就被消除了。你高估了“PNG的力量”,请查看我对OP帖子的评论。具体来说,第一段不是真的,根本没有假货。1位alpha实际上意味着“开”或“关”,所以像素要么是完全透明的,要么是完全不透明的。PNG(以及图标)支持alpha通道,使像素半透明。这对于在可以改变的背景上绘制小图像特别有用。而且它可以,因为每个人在窗口中都有不同的颜色设置,工具栏也可以有渐变。我链接到的文章在顶部的图片中显示了这一点。左边的控制器图标有一个alpha通道,这对边缘的像素特别有用,而另一个图标的边缘则不那么平滑。我提到的PNG图像列表的强大之处在于,它可以让你在常用控件(如toolbuttons和PNG按钮)上绘制这些alpha通道图像。这意味着,即使您的用户决定希望工具栏为黑色或粉色,它们也会很好看。如果你只有1位alpha,或者只是“透明像素与否”,你基本上得到了GIF89支持的图像。事实上,Delphi也允许您为位图指定透明颜色。但是这些图像永远不会看起来如此平滑,除非它们恰好只有直边并且没有使用alpha通道。TImageList非常高兴地保存部分透明的图像,并且已经保存了很长时间。我在D6中这样做,虽然它确实需要一个温和的黑客来实现它。黑客的需要在几年前就被消除了。你高估了“PNG的力量”,请查看我对OP帖子的评论。具体来说,第一段不是真的,根本没有假货。1位alpha实际上意味着“开”或“关”,所以像素要么是完全透明的,要么是完全不透明的。PNG(以及图标)支持alpha通道,使像素半透明。这对于在可以改变的背景上绘制小图像特别有用。而且它可以,因为每个人在窗口中都有不同的颜色设置,工具栏也可以有渐变。我链接到的文章在顶部的图片中显示了这一点。左侧的控制器图标有一个alpha通道,这对边缘的像素特别有用,而另一个ico