Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
delphi TBitmap是否支持alpha通道_Delphi_Alpha_Bmp - Fatal编程技术网

delphi TBitmap是否支持alpha通道

delphi TBitmap是否支持alpha通道,delphi,alpha,bmp,Delphi,Alpha,Bmp,我听到人们说不是这样 然而,我创建了一个TBitmap,并通过 For I := 1 to bmp.Width do For J := 0 to bmp.Height do bmp.canvas.Pixels[I,J]:= $00000000; 然后,我在位图上绘制了抗锯齿文本,并将其保存到文件中。在gimp中打开它时,它会显示透明度信息 是否有人对此有一个明确的答案,如果它确实有效,那么就提供更多关于它如何工作的信息?我尝试过使用最后一个字节,但在gimp中打开它时没有得到预期的

我听到人们说不是这样

然而,我创建了一个TBitmap,并通过

For I := 1 to bmp.Width do
  For J := 0 to bmp.Height do
    bmp.canvas.Pixels[I,J]:= $00000000;
然后,我在位图上绘制了抗锯齿文本,并将其保存到文件中。在gimp中打开它时,它会显示透明度信息


是否有人对此有一个明确的答案,如果它确实有效,那么就提供更多关于它如何工作的信息?我尝试过使用最后一个字节,但在gimp中打开它时没有得到预期的结果。

Delphi TBitmap只是Windows位图对象的包装器。因此,是的,它确实支持alpha通道,但显然您必须适当设置PixelFormat属性。

它支持,但您必须设置

bmp.PixelFormat := pf32bit;

使用
像素[]
可能非常慢。改为研究使用扫描线-你需要知道像素格式才能知道每个像素有多少字节,但是如果你使用的是pf32bit,这很简单(4字节)。请参阅+1很棒:)支持哪个VCL版本?我不是100%确定,但我想这已经在D7中了。也可能更早。