Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Media";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
8-1212599857
DevilDevil
2008-06-04 21:17
2011.06.19
плагин для фотошопа ?


15-1299060395
Scott Storch
2011-03-02 13:06
2011.06.19
Цифровая подпись


3-1260823039
Motzart
2009-12-14 23:37
2011.06.19
Настройка Dataset


15-1299164683
bad man
2011-03-03 18:04
2011.06.19
бинарные операции


6-1230461387
WeTeR
2008-12-28 13:49
2011.06.19
Отправка очереди из изображений по сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский