Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.004 c
2-1299929528
mefodiy
2011-03-12 14:32
2011.06.19
Ввод со сканера штрих-кодов


15-1298842202
Юрий
2011-02-28 00:30
2011.06.19
С днем рождения ! 28 февраля 2011 понедельник


15-1298562424
И. Павел
2011-02-24 18:47
2011.06.19
Тяжелый рок!


4-1248249215
sektor
2009-07-22 11:53
2011.06.19
Добавление текста в RichEdit


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




   Наверх