如何在VCL中清除位图

时间:2018-11-13 14:10:44

标签: c++builder vcl rad-studio

如何清除.cpp中声明的位图,如下所示:

Graphics::TBitmap * Bitmap1 = new Graphics::TBitmap;

我发现的所有示例都是针对Firemonkey的,那里似乎很简单

MyBitmap = new TBitmap(0,0);
...


MyBitmap->Clear(claWhite);

MyBitmap->ClearRect(MyRect);

但是Clear()和ClearRect()不是VCL中TBitmap的成员

我希望我应该delete Bitmap1;才能清除它,但是然后如何重新声明它,以便它对于表单中的所有方法仍然是全局的?

谢谢。

1 个答案:

答案 0 :(得分:2)

您不需要删除并重新创建TBitmap。只需在其顶部绘制一个新图像即可,例如,使用其Canvas->FillRect()方法(实际上是FMX示例正在做的事情),例如:

Bitmap1->Brush->Color = clWhite;
Bitmap1->Canvas->FillRect(Rect(0, 0, Bitmap1->Width, Bitmap1->Height));