![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как на Bitmap наложить второй bitmap в заданные координаты?
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