![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Допустим, на форме есть растянутый Image1, в него грузится картинка. Сверху Image1 лежит Image2 (размером меньше) и в его канву нужно загрузить тот кусок рисунка из Image1 который как бы закрывает Image2.
Другими словами, чтобы Image2 фотографировала в канву то, что находится под ней Подскажите пожалуйста как можно реализовать! |
#4
|
||||
|
||||
![]() На самом деле, лучше использовать StretchBlt или TransparentBlt. Лучше по той причине, по которой и CopyRect не помог:
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
![]() нашел решение
Цитата:
Последний раз редактировалось nbstudio, 19.03.2012 в 22:24. |
#6
|
||||
|
||||
![]() На форме лежит Image1 на нём Image2. В Image1 картинка уже загружена:
Код:
procedure TForm1.FormCreate(Sender: TObject); var aRect : TRect; bmp : TBitmap; begin bmp := TBitmap.Create; try SetRect(aRect, Image2.Left - Image1.Left, Image2.Top - Image1.Top, Image2.Left + Image2.Width - Image1.Left, Image2.Top + Image2.Height - Image1.Top); bmp.Width := Image1.Width; bmp.Height := Image1.Height; bmp.Canvas.StretchDraw(bmp.Canvas.ClipRect, Image1.Picture.Graphic); Image2.Canvas.CopyRect(Image2.Canvas.ClipRect, bmp.Canvas, aRect); finally bmp.Free; end; end; Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 19.03.2012 в 22:53. |