![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вывод метафайла с учетом матрицы трансформирования
AlexT1000 © (2003-04-08 18:01:00)Могу ли я каким-либо образом выводить emf на DC c применением матрицы трансформирования . мне нужен поворот сдвиг искажение
AlexT1000 (2003-04-09 15:43:00) [1]засада. вообщем работы будет тьма. ясно . спасибо
MBo (2003-04-09 15:40:00) [2]или ClipRegion задать - тогда и границу не надо рисовать
MBo (2003-04-09 15:39:00) [3]создать Polygon и FloodFill
AlexT1000 (2003-04-09 15:34:00) [4]кстати такой вопрос . предположим мне в стретилась запись
FillRect.
я поворачиваю координаты на 45 градусов. и что я получаю!?
кривые координаты FillRect т.е зальется больший рект.
не знаешь как с этим можно бороться?
AlexT1000 (2003-04-09 15:17:00) [5]спасибо. я уже в курсе. недавно прикупил этого самого фень юаня.
читаю в перерывах между исправлением багов в предыдущих прогах
AlexT1000 (2003-04-09 15:15:00) [6]нет не одним. просто изображения бабочек зверушек и прочей дребедени надо будет геометрически трансформировать.
через однотонные метафайлы я, наверное, сделаю другие навороты . типа геометрические объекты с возможностью смены цвета. ( возможно градиентного) ну и геом преобразования.
а что?
MBo (2003-04-09 15:08:00) [7]В некоторых случаях может подойти способ - рисуешь метафайл на какой-нибудь Canvas или MemDC внутри BeginPath/EndPath, получаешь данные траектории, их можно подвергнуть аффинному преобразованию- всего-то MoveTo, LineTo и BezierTo придется обрабатывать
AlexT1000 (2003-04-09 15:00:00) [8]нет не одним. просто изображения бабочек зверушек и прочей дребедени надо будет геометрически трансформировать.
через однотонные метафайлы я, наверное, сделаю другие навороты . типа геометрические объекты с возможностью смены цвета. ( возможно градиентного) ну и геом преобразования.
а что?
MBo (2003-04-09 14:54:00) [9]тогда легче, всего несколько десятков EMR_ обрабатывать ;)
Кстати, случайно графика не одним цветом и одной толщиной линий рисуется?
AlexT1000 (2003-04-09 14:52:00) [10]в связи со спецификой программы в метафайлах их не будет.
текст и графика обрабатывается отдельно
MBo (2003-04-09 14:26:00) [11]А с растрами и текстом как поступишь?
AlexT1000 (2003-04-09 14:24:00) [12]нет. бум по феньюаню. оч толстая и хорошая книга. ее бы 2 годика назад прочесть. сколько бы времени сохранилось
MBo (2003-04-09 06:08:00) [13]Да, можно так, но очень муторно - типов emf записей много, обрабатывать их все надо по-разному. Парсер emf есть в книге Фень Юаня.
Возможно, устроит такой путь - рисовать emf на bmp, а уже этот bmp трансформировать целиком.
AlexT1000 (2003-04-08 18:44:00) [14]спасибо. т.е. я так понял мне прийдется раздербанивать emf на рекорды и PlayEnhMetafileRecord c преобразованием координат с учетом моей матрицы для всех функций. засада однако.
MBo (2003-04-08 18:38:00) [15]простыми средствами - никак.
Векторную графику преобразовать, в общем-то, нетрудно,а с растрами проблема - придется написать что-то вроде аналога PlgBlt. Но самое худшее - вывод текста.
AlexT1000 (2003-04-08 18:31:00) [16]это я знаю. спасибо
а на 98 ?
MBo (2003-04-08 18:18:00) [17]конечно, можешь, только в NT-семействе
XF.eM11:=0.707;
XF.eM12:=0.707;
XF.eM21:=-0.707;
XF.eM22:=0.707;
XF.eDx:=100;
XF.eDy:=100;
emf:=TMetaFile.Create;
emf.LoadFromFile("e:\emf.emf");
SetGraphicsMode(Canvas.Handle,GM_ADVANCED);
SetWorldTransForm(Canvas.Handle,XF);
Canvas.Draw(0,0,emf);