![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
ПОдскажите пожалуйста как заполнить полностью картинку если ее размеры постоянно меняется вот мой код
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Width:=Image1.Width+100;
Image1.Height:=Image1.Height+100;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Width:=100;
Image1.Height:=100;
end;
procedure TForm1.FormClick(Sender: TObject);
var bm:TBitmap;
begin
bm:=TBitmap.Create;
bm.Width:=Image1.Width;
bm.Height:=Image1.Height;
with bm.Canvas do begin
Brush.Color:=clBlack;
Brush.Style:=bsSolid;
FillRect(ClipRect);
end;
Image1.Canvas.Draw(0,0,bm);
bm.Destroy;
end;Проблема в том если сначало нажать на кнопку а затем на форму то нормально рисуется, но после того как несколько раз еще нажмешь на кнопку то отрисовка все равно будет старой области. Ну в примере здесь я сделал просто заливку черным ... у меня в проге там рисунки накладываются. |
|
#2
|
||||
|
||||
|
Код:
Image1.Canvas.Draw(0,0,bm); // замени на: Image1.Picture.Bitmap := bm; Ещё можно выровнять размер bitmap-а (того что в TImage): Код:
Image1.Picture.Bitmap.SetSize(Image1.Width, Image1.Height); Или используй PaintBox. Последний раз редактировалось ryderx34, 15.12.2010 в 02:15. |
|
#3
|
|||
|
|||
|
Огромное спасибо, помогло!
![]() |