【发布时间】:2014-08-26 21:09:48
【问题描述】:
Delphi中TBitmap的PixelFormat默认值是多少? 每次创建 TBitmap 时都需要指定 PixelFormat 吗?
例如,
var
img: TBitmap;
begin
img := TBitmap.Create;
img.PixelFormat := pf32bit; // or pf24bit?
...
...
end;
【问题讨论】:
-
这可以通过简要查看源来回答。如果您想拥有一个专门的实例,请为此目的建立一个工厂
-
有趣,来源与文档不匹配。 Docs say 默认句柄是 DIB,实际上 TBitmap 默认是 DDB,因此像素格式是 pfDevice。不,您不需要指定像素格式。 ..除非你这样做..
-
这可以很容易地通过在
img.PixelFormat行上的调试器中设置一个断点来解决,运行到断点,然后在该行执行之前检查img.PixelFormat的值。 (此时它将包含默认值。) -
默认值为pfDevice(等于0)。
-
是否需要在每次创建 TBitmap 时指定 PixelFormat? 我不知道。你?这取决于您的需求。