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

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

как на Bitmap наложить второй bitmap в заданные координаты?


Страницы:   1 2

Signal ©   (2013-12-30 18:22:00) 

А конкретнее, не по 2 координатам, как в StretchDraw
а по 4-м чтоб можно было задать 4 точки по углам квадрата, чтоб его можно было исказить?
как-то находил такую процедуру, сейчас весь интернет перерыл найти не могу в упор.


Signal   (2013-12-31 22:30:00) [21]

может есть примеры какие? именно для
TProjectiveTransformation


Signal   (2013-12-31 22:21:00) [22]

>Sapersky
>>Благодарствую, Sapersky
>>в FastLib не нашел, что нужно, а в Graphics32 это TProjectiveTransformation

что-то вообще я в ступоре, никак не могу раздуплить как его использовать-то
мучал не перемучал

с наступающим всех


Германн   (2013-12-31 03:53:00) [23]


> DVM ©   (30.12.13 20:19) [9]
> вот тут про дисторсию

Не ну Дим. При чём тут дисторсия?


Signal   (2013-12-31 01:21:00) [24]

Благодарствую, Sapersky
в FastLib не нашел, что нужно, а в Graphics32 это TProjectiveTransformation


Sapersky   (2013-12-31 00:34:00) [25]

Есть вписывание картинки в произвольный четырёхугольник, в G32 это называется Perspective transform. Фактически в FastLib копипаст G32, но оптимизированный.
А для дисторсии не вижу однозначного определения, где-то пишут криволинейное искажение линз, где-то вписывание в четырёхугольник.


DVM   (2013-12-30 22:40:00) [26]


> Sapersky


> FastLib.

там есть дисторсия?


Sapersky   (2013-12-30 22:03:00) [27]

Сторонние библиотеки - Graphics32, FastLib.
Если есть жёсткие требования по скорости, можно делать через аппаратную графику (DX/OGL), накладывать текстуру на два треугольника.


DVM   (2013-12-30 20:19:00) [28]


> Signal

http://www.codeproject.com/Articles/247214/Quadrilateral-Distortion

вот тут про дисторсию - это как раз твой случай


DVM   (2013-12-30 20:10:00) [29]


> Signal

Если тебе нужна вообще произвольная деформация, то это нелинейная трансформация будет.


DVM   (2013-12-30 20:05:00) [30]


> Signal   (30.12.13 19:59) [4]


> Это тоже не то, там поворт на угол, а у меня может быть
> каждые 4-е координаты по осям могут тоже быть разными
> например, в виде трапеции.

SetWorldTransform - это сдвиг, поворот, деформация одновременно + независимая по двум осям.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145104(v=vs.85).aspx


The SetWorldTransform function sets a two-dimensional linear transformation between world space and page space for the specified device context. This transformation can be used to scale, rotate, shear, or translate graphics output.


Rouse_   (2013-12-30 20:02:00) [31]


> Signal   (30.12.13 19:59) [4]
> >DVM
>
> Это тоже не то, там поворт на угол, а у меня может быть
> каждые 4-е координаты по осям могут тоже быть разными
> например, в виде трапеции.

Ага, ну теперь понятно (умеешь же ты обьяснять :) - эт тебе в сторону GDI+ смотреть нужно.


Rouse_   (2013-12-30 19:59:00) [32]


> Signal   (30.12.13 19:34) [2]
> Это я и сам видел, но это не то, тоже самое что и StretchDraw

Ага, понятно. Т.е. тебе нужно как в StretchDraw, но по 4 точкам? :))


Signal   (2013-12-30 19:59:00) [33]

>DVM

Это тоже не то, там поворт на угол, а у меня может быть каждые 4-е координаты по осям могут тоже быть разными
например, в виде трапеции.


DVM   (2013-12-30 19:41:00) [34]


> Signal  

SetWorldTransform


Signal   (2013-12-30 19:34:00) [35]

Это я и сам видел, но это не то, тоже самое что и StretchDraw


Rouse_   (2013-12-30 19:06:00) [36]


> сейчас весь интернет перерыл найти не могу в упор.

Прямо таки и весь? :) Уважаю, даж гугль снимает перед тобой шляпу.
Попробую поискать в другом интернете, там смотри что есть: http://msdn.microsoft.com/en-us/library/windows/desktop/dd145120(v=vs.85).aspx


Страницы:   1 2

Наверх

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