![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() А конкретнее, не по 2 координатам, как в StretchDraw
а по 4-м чтоб можно было задать 4 точки по углам квадрата, чтоб его можно было исказить? как-то находил такую процедуру, сейчас весь интернет перерыл найти не могу в упор. |
#2
|
||||
|
||||
![]() Это API-функция StretchBlt.
Если нужно накладывать с прозрачностью - TransparentBlt. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 30.12.2013 в 21:52. |
#3
|
|||
|
|||
![]() Цитата:
Нет это не то, StretchBlt тоже самое что и canvas.StretchDraw |
#4
|
|||
|
|||
![]() Цитата:
Именно StretchDraw тебе и нужен: http://docs.embarcadero.com/products...retchDraw.html procedure StretchDraw(const Rect: TRect; Graphic: TGraphic); Rect - как раз тот прямоугольник, в который и надо отрисовывать. |
#5
|
|||
|
|||
![]() Цитата:
это прямоугольник, на то и прямоугольник, что указывается только 2 координаты, верхний левый угол и нижний правый угол, а мне нажно по произвольным 4-м точкам. вопрос закрыт, решил при помощи библиотеки Graphics32 TProjectiveTransformation как раз то что нужно |
#6
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
|||
|
|||
![]() Цитата:
Ну с геометрий как я вижу у тебя все в порядке, а в программировании по ходу вообще не сечешь в функциях типа StretchDraw, StretchBlt и тому подобных, указываются только две точки прямоугольника, а именно верхний левый угол и нижний правый угол. StretchDraw(DataRect, Graphics); где DataRect типа Trect, которое имеет Left, Top, Right, Bottom т.е. две точки, первая Left, Top вторая Right, Bottom поэтому они и вписуют картинку в этот прямоугольник а мне нужен не прямоугольник, а скажем трапеция, или многоугольник, с 4 разными углами а именно, первая точка, X0, Y0 (левый верхний угол) вторая точка X1, Y1 (правый верхний угол) третья точка X2, Y2 (левый нижний угол) четвертая точка X3, Y3 (правый нижний угол) так понятнее? |
#8
|
|||
|
|||
![]() Ну так и надо было сначала говорить, что у тебя наложение с нелинейными искажениями.
|
#9
|
|||
|
|||
![]() Цитата:
сорри, просто все процедуры стандартные изначально предполагают 2 точки, вот и не стал уточнять |
#10
|
||||
|
||||
![]() Цитата:
![]() ![]() ![]() |
#11
|
||||
|
||||
![]() Цитата:
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |