![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать часть рисунка [D7, Win2k]
bulanov © (2004-09-07 22:52:00)Вопрос в следующем.
Мне необходимо часть рисунка нахлдящегося в image1 скопировать в image2.
Делаю так:
Bitmap := TBitmap.Create;
try
Bitmap.Width := 50;
Bitmap.Height := 40;
Bitmap.Canvas.CopyRect(Rect(0, 0, 50, 40),
Image1.Picture.Bitmap.Canvas,
Bounds(10, 10, 60, 50));
Image2.Picture.Bitmap:=Bitmap;
finally
Bitmap.Free;
end;
Все это работает, но только если image1 содержит bmp, а у меня он содержит jpg, и копируется белый квадратик.
Подскажите что можно предпринять.
Спасибо.
antonn (2004-09-08 07:16:00) [1]procedure TForm1.Button1Click(Sender: TObject);
var b:tbitmap;
begin
b:=Tbitmap.Create;
b.Width:=100;
b.Height:=100;
b.Canvas.Draw( 0,0,image1.Picture.Graphic );
image2.Canvas.CopyRect( rect(0,0,100,100), b.Canvas ,rect(0,0,100,100) );
b.Free;
//Вроде работает. Лишнее убери и усе Ок.
end;
antonn (2004-09-08 06:56:00) [2]а у picture канвас есть? image1.picture.canvas
bulanov (2004-09-07 23:41:00) [3]а что использовать?
wl (2004-09-07 23:40:00) [4]а что обязательно jpg использовать?
кроме того, по моему опыту, компонент TImage содержит в себе кучу глюков, лучше его не использовать
bulanov (2004-09-07 23:34:00) [5]в copyrect требуется TCanvas а не TGraphic
ошибку выдает при компилировании.
Defunct (2004-09-07 23:23:00) [6]Опечатка.
wl (2004-09-07 23:19:00) [7]эээ а разве у TGraphic есть свойство Canvas?
Defunct (2004-09-07 23:15:00) [8]Image1.Picture. Graphic.Canvas