Как очистить растровое изображение в VCL - PullRequest
0 голосов
/ 13 ноября 2018

Как очистить растровое изображение, которое было объявлено в .cpp, следующим образом:

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

Все примеры, которые я нахожу, относятся к Firemonkey, и там это выглядит довольно просто

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


MyBitmap->Clear(claWhite);

или

MyBitmap->ClearRect(MyRect);

Но Clear () и ClearRect () не являются членами TBitmap в VCL

Я ожидаю, что мне нужно delete Bitmap1;, чтобы очистить его, но затем, как повторнообъявить его, чтобы он оставался глобальным для всех методов в форме?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 ноября 2018

Вам не нужно удалять и воссоздавать TBitmap. Просто нарисуйте новое изображение поверх него, например, с помощью метода Canvas->FillRect() (это, по сути, то, что делают примеры FMX), например:

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