Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.19;
Скачать: CL | DM;

Вниз

WMF. Переформулирую вопрос   Найти похожие ветки 

 
Феликс   (2008-06-05 11:43) [0]

Как перевести значения координат из логических юнитов в пиксели?


 
Sapersky   (2008-06-05 13:08) [1]

См. Graphics -> TMetafile.GetWidth/GetHeight.


 
Феликс   (2008-06-05 17:29) [2]

Смотрел.. Эту строку видел:
Result := MulDiv(FWidth, ScreenLogPixels, HundredthMMPerInch);
Увы. В файле координаты непонятно в каких единицах измерения, а здесь FWidth в сотых долях мимлимметра. А примерно к такой же формуле я и сам до этого пришёл..
То есть, для примера, fWidth у меня равен 28549, в результате получаем 1079 пикселей, а логические единицы для такой координаты -- 1152. Вот этого и не понимаю..


 
Sapersky   (2008-06-06 14:51) [3]

Там есть ещё вариант:
     begin     { convert 0.01mm units to referenceDC device pixels }
       GetEnhMetaFileHeader(FHandle, Sizeof(EMFHeader), @EMFHeader);
       Result := MulDiv(FWidth,                      { metafile width in 0.01mm }
         EMFHeader.szlDevice.cx,                      { device width in pixels }
         EMFHeader.szlMillimeters.cx*100);            { device width in 0.01mm }
     end
FWidth/FHeight получаются из EMFHeader.rclFrame.

Вообще если работает построение оболочки перебором всех элементов, то ИМХО лучше так и оставить (мало ли, какая-нибудь кривая программа запишет в заголовок неверные данные), если это не слишком медленно.


 
Феликс   (2008-06-06 16:54) [4]

Да, этот код тоже смотрел. Нет, всё не то. Я по другому пути решил идти -- выведу канвас в bmp, а уж его-то я просканирую запросто. И всё будет так, как мне нужно..



Страницы: 1 вся ветка

Текущий архив: 2011.06.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1299788475
rodionov_uv
2011-03-10 23:21
2011.06.19
помогите организовать проверку


2-1300268485
>|<
2011-03-16 12:41
2011.06.19
Как сформировать свой экземпляр типа TMethod ?


2-1299760300
Cobalt
2011-03-10 15:31
2011.06.19
Передача массива в процедуру


2-1299925596
Scott Storch
2011-03-12 13:26
2011.06.19
сформировать иерархию


2-1299781353
Rhino
2011-03-10 21:22
2011.06.19
Переопределение операторов