delphi TBitmap是否支持alpha通道
我听到人们说不是这样 然而,我创建了一个TBitmap,并通过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中打开它时没有得到预期的
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中了。也可能更早。