0

如何清除在 .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;为了清除它,但是如何重新声明它,使其对表单中的所有方法仍然是全局的?

提前致谢。

4

1 回答 1

2

您无需删除并重新创建TBitmap. 只需在其顶部绘制一个新图像,例如使用它的Canvas->FillRect()方法(这基本上是 FMX 示例所做的),例如:

Bitmap1->Brush->Color = clWhite;
Bitmap1->Canvas->FillRect(Rect(0, 0, Bitmap1->Width, Bitmap1->Height));
于 2018-11-13T20:16:57.483 回答