BCB中使用TImage对图象的放大与缩小

本文详细介绍了TCanvas对象的CopyRect函数,该函数能够实现在画布上复制图像区域来达到放大或缩小的效果。通过示例代码展示了CopyRect与BrushCopy的区别,并提供了具体的使用场景。
TCanvas对象的CopyRect函数可以实现图象的放大与缩小;即把画布上的一部分拷贝到另一部分。函数原型如下:
void __fastcall CopyRect(const TRect &Dest, TCanvas* Canvas, const TRect &Source);
Example:
下列的密码举例说明 CopyRect 和 BrushCopy 之间的不同。 位图图标被载入位图而且在 Form1 的帆布上被显示。 BrushCopy 代替在帆布上刷子图标的颜色为黑色, 当 CopyRect 上的颜色尚未脱离的时候。
Graphics::TBitmap *Bitmap;
TRect   MyRect, MyOther;
MyRect = Rect(10,10,100,100);
MyOther = Rect(10,111,100, 201);
Bitmap = new Graphics::TBitmap;
Bitmap->LoadFromFile(//"c:////////windows////////tartan.bmp//");
Form1->Canvas->BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1->Canvas->CopyRect(MyOther, Bitmap->Canvas, MyRect);
delete Bitmap;

{
TImage *tImage = new TImage(this);
tImage->Picture->LoadFromFile(sFileName+tPicName);
tImage->Canvas->CopyRect(TRect(0,0,Item_W-3,Item_H*3/4),tImage->Canvas,tImage->Canvas->ClipRect);
tImage->Picture->Bitmap->Width = Item_W-3;
tImage->Picture->Bitmap->Height = Item_H*3/4;
FItem[tTag].Controls[tIdx]->Glyph = tImage->Picture->Bitmap;
delete tImage;
tImage = NULL;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值