Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не получается скопировать изображение и вставить его в др. [D7]


mmms ©   (2006-06-08 11:43:00) 

Здравствуйте! Вроде бы ничего сложного, но не могу сам разобраться, прошу вашей помощи. Есть файл bmp (64*64) на диске (или уже открытый в TImage, без разницы). Создаю TBitMap (600*400), необходимо скопировать файл bmp на этот битмап.


procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
begin
 Bitmap := TBitmap.Create;
 try
   Bitmap.Width := 600;
   Bitmap.Height := 400;
   Bitmap.Canvas.CopyRect(Rect(0, 0, 64, 64), Image1.Picture.Bitmap.Canvas, Bounds(10, 10, 74, 74));
   Bitmap.SaveToFile('c:\new.bmp');
 finally
   Bitmap.Free;
 end;
end;


В результате выполнения кода - картинка на Image1 стирается, а на new.bmp - белый фон. :(


tButton   (2006-06-08 11:58:00) [1]

=)


mmms   (2006-06-08 11:57:00) [2]

Нашел вроде, почему первый код не работал, у меня в Image1 была иконка загружена. Пользуюсь советом от tButton. Спасибо!


mmms   (2006-06-08 11:51:00) [3]

Ага, понял, пробую.


mmms   (2006-06-08 11:49:00) [4]

Спасибо, а как тогда вставить в определенную позицию Bitmap(который 600*400)?


tButton   (2006-06-08 11:47:00) [5]

суть в том что, насколько я помню, передавать нужно не объект типа tCanvas, а хэндл этого объекта)


tButton   (2006-06-08 11:46:00) [6]

BitBlt(bitmap.Canvas.Handle, Image1.Picture.Bitmap.Canvas.Handle...


Наверх

Титульная страница Поиск, карта сайта Написать письмо