Форум: "Media";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизВывод метафайла с учетом матрицы трансформирования Найти похожие ветки
← →
AlexT1000 (2003-04-08 18:01) [0]Могу ли я каким-либо образом выводить emf на DC c применением матрицы трансформирования . мне нужен поворот сдвиг искажение
← →
MBo (2003-04-08 18:18) [1]конечно, можешь, только в 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);
← →
AlexT1000 (2003-04-08 18:31) [2]это я знаю. спасибо
а на 98 ?
← →
MBo (2003-04-08 18:38) [3]простыми средствами - никак.
Векторную графику преобразовать, в общем-то, нетрудно,а с растрами проблема - придется написать что-то вроде аналога PlgBlt. Но самое худшее - вывод текста.
← →
AlexT1000 (2003-04-08 18:44) [4]спасибо. т.е. я так понял мне прийдется раздербанивать emf на рекорды и PlayEnhMetafileRecord c преобразованием координат с учетом моей матрицы для всех функций. засада однако.
← →
MBo (2003-04-09 06:08) [5]Да, можно так, но очень муторно - типов emf записей много, обрабатывать их все надо по-разному. Парсер emf есть в книге Фень Юаня.
Возможно, устроит такой путь - рисовать emf на bmp, а уже этот bmp трансформировать целиком.
← →
AlexT1000 (2003-04-09 14:24) [6]нет. бум по феньюаню. оч толстая и хорошая книга. ее бы 2 годика назад прочесть. сколько бы времени сохранилось
← →
MBo (2003-04-09 14:26) [7]А с растрами и текстом как поступишь?
← →
AlexT1000 (2003-04-09 14:52) [8]в связи со спецификой программы в метафайлах их не будет.
текст и графика обрабатывается отдельно
← →
MBo (2003-04-09 14:54) [9]тогда легче, всего несколько десятков EMR_ обрабатывать ;)
Кстати, случайно графика не одним цветом и одной толщиной линий рисуется?
← →
AlexT1000 (2003-04-09 15:00) [10]нет не одним. просто изображения бабочек зверушек и прочей дребедени надо будет геометрически трансформировать.
через однотонные метафайлы я, наверное, сделаю другие навороты . типа геометрические объекты с возможностью смены цвета. ( возможно градиентного) ну и геом преобразования.
а что?
← →
MBo (2003-04-09 15:08) [11]В некоторых случаях может подойти способ - рисуешь метафайл на какой-нибудь Canvas или MemDC внутри BeginPath/EndPath, получаешь данные траектории, их можно подвергнуть аффинному преобразованию- всего-то MoveTo, LineTo и BezierTo придется обрабатывать
← →
AlexT1000 (2003-04-09 15:15) [12]нет не одним. просто изображения бабочек зверушек и прочей дребедени надо будет геометрически трансформировать.
через однотонные метафайлы я, наверное, сделаю другие навороты . типа геометрические объекты с возможностью смены цвета. ( возможно градиентного) ну и геом преобразования.
а что?
← →
AlexT1000 (2003-04-09 15:17) [13]спасибо. я уже в курсе. недавно прикупил этого самого фень юаня.
читаю в перерывах между исправлением багов в предыдущих прогах
← →
AlexT1000 (2003-04-09 15:34) [14]кстати такой вопрос . предположим мне в стретилась запись
FillRect.
я поворачиваю координаты на 45 градусов. и что я получаю!?
кривые координаты FillRect т.е зальется больший рект.
не знаешь как с этим можно бороться?
← →
MBo (2003-04-09 15:39) [15]создать Polygon и FloodFill
← →
MBo (2003-04-09 15:40) [16]или ClipRegion задать - тогда и границу не надо рисовать
← →
AlexT1000 (2003-04-09 15:43) [17]засада. вообщем работы будет тьма. ясно . спасибо
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c