Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.222.115.120] |
|
Сообщ.
#1
,
|
|
|
Как зеркально отразить объект средствами ImageEnVect?
|
Сообщ.
#2
,
|
|
|
Раз нет специального метода для зеркального отражения, то - ручками путем изменения координат
|
Сообщ.
#3
,
|
|
|
Цитата leo @ то - ручками путем изменения координат А WinAPI в пятом Дельфи под запретом? |
Сообщ.
#4
,
|
|
|
Цитата B.V. @ А WinAPI в пятом Дельфи под запретом? А при чем тут WinAPI, если TImageEnVect может хранить векторные объекты? Например, для полилиний доступ к координатам осуществляется через св-во ObjPolylinePoints[hobj,index]:TPoint. Какое тут API? Просто берешь и ручками изменяешь координаты на зеркальные, типа X:=Xo-X |
Сообщ.
#5
,
|
|
|
Цитата leo @ если TImageEnVect может хранить векторные объекты? Понял. Не знал. |
Сообщ.
#6
,
|
|
|
Речь идет о Bitmap объекте
|
Сообщ.
#7
,
|
|
|
Цитата Старик @ Речь идет о Bitmap объекте Все равно ручками и без WinAPI. 1) Берешь GetObjRect своего битмапа. 2) Зеркально отображаешь его координаты таким образом, чтобы Right-Left или Bottom-Top стали отрицательными. 3) Создаешь новый битмап и рисуешь в него старый битмап в этот зеркальный прямоугольник через Canvas.StretchDraw(новый_Rect,старый_битмап). 4) Дальше либо создаешь новый объект с этим битмапом, либо заменяешь битмап у существующего |