Как очистить канву картинки?
, Image1->Canvas->Refresh(); не работает
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.108] |
|
|
| Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Как очистить канву картинки?
, Image1->Canvas->Refresh(); не работает
|
Сообщ.
#16
,
|
|
|
|
Привет всем!
Не могу разобраться с очисткой канвы(((( Как сделать так чтобы при нажатии кнопки, на Image оставалось только то, что создается в FormCreate; А все остальное стиралось???? ![]() ![]() Graphics::TBitmap* gBm = new Graphics::TBitmap; void __fastcall TForm1::FormCreate(TObject *Sender) { Image1->Canvas->Rectangle(250,250,200,200); gBm->Width=Image1->ClientWidth; gBm->Height=Image1->ClientWidth; gBm->Canvas->Brush->Style=bsClear; Image1->Canvas->Pen->Width=1; Image1->Canvas->Brush->Style=bsClear; } void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { t1.x=X; t1.y=Y; t2.x=X; t2.y=Y; pict=true; } void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { pict=false; gBm->Canvas->Rectangle(t1.x,t1.y,t2.x,t2.y); } void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if(pict==true) { Image1->Canvas->Draw(0,0,gBm); Image1->Canvas->Pen->Color=clWhite; Image1->Canvas->Rectangle(t1.x,t1.y,t2.x,t2.y); t2.x=X; t2.y=Y; Image1->Canvas->Pen->Color=clBlack; Image1->Canvas->Rectangle(t1.x,t1.y,t2.x,t2.y); } |
|
Сообщ.
#17
,
|
|
|
|
Вариант 1 - нарисованное в FormCreate сохранить в буферный битмап. По кнопке вывести его на имэдж.
Вариант 2 - вынести рисование из FormCreate вынести в отдельную функцию. Вызывать её в FormCreate и по кнопке. |
|
Сообщ.
#18
,
|
|
|
|
Спасибо))))
|