Delphi TBitMap[1] 位图 介绍
Delphi TBitMap[1] 位图 介绍
位图TBitMap,封装了Windows的 HBITMAP 句柄 和 HPALETTE 句柄,用于操纵位图和调色板。 TBitMap对象支持从文件、剪贴板、流中存取位图。
它可以自动管理调色板,还可以使用画布修改图像。创建TBitmap副本的速度非常快,因为句柄是复制的,而不是图像。如果图像被修改,并且句柄由多个TBitmap对象共享,则在执行修改(即写时复制)之前复制图像。
TBitmap = class(TGraphic)
1、常用属性
- Canvas //从画布上输出,允许在位图上绘制。
- Empty //判断是否为空
- Handle //句柄。TBitmap封装的HBITMAP。应避免直接抓取句柄,因为如果多个TBitmap共享句柄,则会导致HBITMAP被复制。
- HandleType //如果与设备无关,返回bmDIB,如果依赖于设备,返回bmDDB
- Height //高度
- Width //宽度
- Monochrome //单色还是彩色 //将Monochrome属性设置为True后,只要图像中的颜色不是白色的地方都将变成黑色 //如果位图是单色位图,则为True
- PixelFormat //设置内存格式和颜色深度,可选值:
- pfDevice:与设备有关。
- pf1bit:1bit颜色。
- pf4bit:4bit颜色。
- pf8bit:8bit颜色。
- pf15bit:15bit颜色。
- pf16bit:16bit颜色。
- pf24bit:24bit颜色。
- pf32bit:32bit颜色。
- pfCustom:定制颜色。
- TransparentColor- //设置或返回把位图显示成透明的颜色,例如:将图像中的黑色部分以透明方式显示,属性可以赋值为clBlack,并将Transparent属性设置为True。
- Palette //调色板。由TBitmap实现的HPALETTE。应避免直接抓住该句柄,因为如果多个TBitmap共享该句柄,则会导致HPALETTE被复制。
2、常用方法
- Asign //将其他格式的图像转换为位图格式
- Create //建立一个新的TBitMap对象
- Free //释放
- FreeImage //能够减少位图占用的内存, 操作后还可以继续使用TBitMap组件内的图像。
- LoadFromFile //动态地调入扩展名应为.bmp的图像文件 //BitMap.LoadFromFile('FileName');
- LoadFromClipFormat //用于从剪贴板中获取一个位图
- Mask- //把位图变成单色 //此参数用来指定可以透明显示的颜色。除TransparentColor参数指定的颜色,其余的都将变成黑色。
- SaveToClipboardFormat- //保存到剪贴板
- SaveToFile //将TBitMap组件变量中的图像内容保存为BMP格式 //BitMap.SaveToFile('FileName');
3、Delphi示例:
var
BMP:TBitMap;
begin
BMP:=TBitMap.Create;
BMP.LoadFromFile('C:\test.bmp');
Form1.Canvas.Draw(50,50,BMP);
BMP.Free;
end;
将TImage组件调入一个BMP格式的的图像:
var
BMP:TBitMap;
begin
BMP:=TBitMap.Create;
BMP.Assign(Image1.Picture.Bitmap); //
BMP.Free;
end;
创建时间:2020.12.18 更新时间:2022.05.04
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!