Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Как скопировать часть рисунка   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-1100264144
zorik
2004-11-12 15:55
2004.12.12
SQL запрос


3-1100059505
Marat
2004-11-10 07:05
2004.12.12
Ошибка при вставке в StringGrid


1-1101055819
Гаврилов В.А.
2004-11-21 19:50
2004.12.12
Почему не работает ссылка с рабочего стола


1-1101472948
Dush
2004-11-26 15:42
2004.12.12
Объявление процедур


14-1100695078
ms
2004-11-17 15:37
2004.12.12
Помогите разобраться с VC++ .NET...