Главная страница
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-1299920274
>|<
2011-03-12 11:57
2011.06.19
чем заменить UInt64 в Delphi 6


2-1299862251
Artemgood
2011-03-11 19:50
2011.06.19
Создать Автоматизированный информационный стенд колледжа


15-1299015000
Юрий
2011-03-02 00:30
2011.06.19
С днем рождения ! 2 марта 2011 среда


8-1212599857
DevilDevil
2008-06-04 21:17
2011.06.19
плагин для фотошопа ?


15-1298958622
Гость
2011-03-01 08:50
2011.06.19
Как саботировать работы?