Главная страница
    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.45 MB
Время: 0.034 c
1-1101515434
Sirakuz
2004-11-27 03:30
2004.12.12
Delphi 8: TBytes ??


6-1095392327
сигишник
2004-09-17 07:38
2004.12.12
CGI + IIS


1-1101574669
tf_kiev
2004-11-27 19:57
2004.12.12
Не создается динамически компонент в форме


3-1100504182
wHammer
2004-11-15 10:36
2004.12.12
Возможно ли восстановление?


6-1096904375
Yermek
2004-10-04 19:39
2004.12.12
Удаленный рабочий стол





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский