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

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

Копирование на Image2


mobila ©   (2006-04-18 17:18:00) 

Подскажите пожалуйста как вывести изображение на Image2 при копировании
Image2.Canvas.CopyRect(ImageRect, Image1.Canvas, ImageRect,);
чтоб изображение было в определённом месте на Image2.


mobila   (2006-04-21 14:36:00) [1]

Спасибо вот что получилось
BitBlt(Image2.Canvas.Handle, 0, 0, 90, 90, Image1.Canvas.Handle ,ImageRect.Left, ImageRect.Top, SrcCopy);

А ещё этого эффекта можно добится прописав вот это

Image2.Canvas.CopyRect (Rect (0, 0, 90, 90),Image1.Canvas,
ImageRect)

ну вот теперь всё копируется куда надо только теперь вокруг скопированного изображения появляется рамка того самого прямоугольника, которым скопировал это изображение. Как эту рамку можно убрать?
Она появляется из за ImageRect. А Image2.Canvas.DrawFocusRect(ImageRect); не помогает.


Pojarnik   (2006-04-21 00:14:00) [2]

Есть функция в заголовочном файле windows.pas

BitBlt(КудаКопировать.Canvas.Handle, КудаLeft, КудаTop, КудаWidth, Куда Height, ЧтоКопировать.Canvas.Handle ,  ЧтоLeft, ЧтоTop, SrcCopy);


mobila   (2006-04-19 18:35:00) [3]

Объесню по понятнее я сделал прямоугольник как в фотошопе т.е.
гружу фото в Image1 потом перетаскиваю этот прямоугольник на нужное мне место на фотографии и жму кнопку копировать (к кнопке копировать привязал функцию
Image2.Canvas.CopyRect(ImageRect, Image1.Canvas, ImageRect); т.е.
при нажатии на кнопку часть рисунка выделенная этим прямоугольником копируется на Image2, вся проблемма в том что часть рисунка копируется на Image2 в то место откуда она была выделена на Image1, а мне нужно что бы рисунок копировался строго в нижний левый угол или в др. углы. Помогите кто может.


Crazy_Diman   (2006-04-19 01:08:00) [4]

Если я правельно понел вопрос то так
Image2.Picture.Bitmap.PixelFormat:=pf24bit;
Image2.Picture.Bitmap.Width:=Image1.Picture.Bitmap.Width;
Image2.Picture.Bitmap.Height:=Image1.Picture.Bitmap.Height;
Image2.Canvas.CopyRect(Image2.Picture.Bitmap.Canvas.ClipRect, Image1.Canvas, Image1.Picture.Bitmap.Canvas.ClipRect);


mobila   (2006-04-18 19:18:00) [5]

Что то не понял


MBo   (2006-04-18 17:20:00) [6]

ImageRect разные сделать - логично?


Наверх

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