Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизКак скопировать часть рисунка Найти похожие ветки
← →
bulanov (2004-09-07 22:52) [0]Вопрос в следующем.
Мне необходимо часть рисунка нахлдящегося в 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, и копируется белый квадратик.
Подскажите что можно предпринять.
Спасибо.
← →
Defunct © (2004-09-07 23:15) [1]Image1.Picture.Graphic.Canvas
← →
wl (2004-09-07 23:19) [2]эээ а разве у TGraphic есть свойство Canvas?
← →
Defunct © (2004-09-07 23:23) [3]Опечатка.
← →
bulanov (2004-09-07 23:34) [4]в copyrect требуется TCanvas а не TGraphic
ошибку выдает при компилировании.
← →
wl (2004-09-07 23:40) [5]а что обязательно jpg использовать?
кроме того, по моему опыту, компонент TImage содержит в себе кучу глюков, лучше его не использовать
← →
bulanov (2004-09-07 23:41) [6]а что использовать?
← →
antonn © (2004-09-08 06:56) [7]а у picture канвас есть? image1.picture.canvas
← →
antonn © (2004-09-08 07:16) [8]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;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c