BCB图像处理总结

BCB截图

一、画布(Canvas)-截图整个桌面

Graphics::TBitmap* bmp=new Graphics::TBitmap;
TCanvas* canvas=new TCanvas;
HDC hdc=GetDC(NULL);
canvas->Handle=hdc;
bmp->Width=Screen->Width;
bmp->Height=Screen->Height;
bmp->Canvas->CopyRect(Rect(0,0,bmp->Width,bmp->Height),canvas,Rect(0,0,bmp->Width,bmp->Height));

 

二、API(BitBlt())

HDC hdc=CreateDCA("DISPLAY",NULL,NULL,NULL);
Graphics::TBitmap* bmp=new Graphics::TBitmap;
bmp->Width=Screen->Width;
bmp->Height=Screen->Height;
::BitBlt(bmp->Canvas->Handle,0,0,Screen->Width,Screen->Height,hdc,0,0,SRCCOPY);

 

/*******************************************************************************/

给自己图片加个水印样式

Graphics::TBitmap* bmp1=new Graphics::TBitmap;
bmp1->LoadFromFile("c://s.bmp");
Graphics::TBitmap* bmp2=new Graphics::TBitmap;
bmp2->LoadFromFile("c://000.bmp");
::BitBlt(bmp1->Canvas->Handle,0,0,bmp2->Width,bmp2->Height,bmp2->Canvas->Handle,0,0,SRCAND);

Graphics::TBitmap *BufferBmp = new Graphics::TBitmap();

BufferBmp->LoadFromFile("C:\\3423.bmp");

BitBlt(Panel1->Handle,0,0,Panel1->Width,Panel1->Height,BufferBmp->Canvas->Handle,0,0,SRCCOPY);

delete  BufferBmp ;

 

 

Bitmap - 位图,.bmp 图片

说明:

TBitmap: 可以处理 bmp 图片、位图,内置画布,可做为内存位图

 

头文件:

#include <Vcl.Graphics.hpp> (XE2 之后),#include <Graphics.hpp> (XE 之前)

 

继承关系:

TObject → TPersistent → TInterfacedPersistent → TGraphic → TBitmap

 

属性:

属性 类型 描述
public:    
Canvas TCanvas TBitmap 的画布,可以通过这个画布来读取和修改位图的数据
Handle HBITMAP 位图的句柄,可读写,可以通过这个句柄来使用 Windows API 函数处理位图
HandleType TBitmapHandleType 位图句柄的类型,可读写,可以使用的值:bmDIB 或 bmDDB
• bmDIB: 与设备无关的位图 device-independent bitmap (DIB)
• bmDDB: 与设备相关的位图 device-dependent bitmap (DDB)
IgnorePalette bool 显示图片的时候是否忽略调色板,读写属性,如果为 true,忽略调色板,在 256 色显示驱动的情况下,能够更快的显示出来图片,但是显示图片的质量下降
MaskHandle HBITMAP 通过 Canvas->Draw 画在画布上的时候使用的蒙板的句柄。
• 必须在 Transparent 属性为 true 的情况下 (先把 Transparent 属性设为 true),
• 然后再指定蒙板句柄 MaskHandle 为一个黑白位图的句柄,对应于蒙板白色部分被剪裁掉,黑色部分保留。【例1: 使用蒙板的例子
Monochrome bool 是否为只有黑白两种颜色的位图,可读写,只有在每个像素 1 bit 的情况,此属性为 true
PixelFormat TPixelFormat 像素点的格式,可读写,可以使用的值:
• pfDevice: 设备相关的位图
• pf1bit: 设备无关的位图,每个像素 1 bit,使用黑白两种颜色调色板
• pf4bit: 设备无关的位图,每个像素 4 bits,使用 16 色调色板
• pf8bit: 设备无关的位图,每个像素 8 bits,使用 256 色调色板
• pf15bit: 设备无关的真彩色位图,每个像素为 15 bits 的 RGB 值
• pf16bit: 设备无关的真彩色位图,每个像素为 16 bits 的 RGB 值
• pf24bit: 设备无关的真彩色位图,每个像素为 24 bits 的 RGB 值
• pf32bit: 设备无关的真彩色位图,每个像素为 32 bits 的 RGB 值
• pfCustom: 使用其他格式,TBitmap 不支持 pfCustom.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值