Главная страница
    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.003 c
2-1299874810
Евгений_С
2011-03-11 23:20
2011.06.19
RxRichEdit


2-1299920274
>|<
2011-03-12 11:57
2011.06.19
чем заменить UInt64 в Delphi 6


2-1299849594
ANNWYN
2011-03-11 16:19
2011.06.19
проблема со шрифтом на Delphi


15-1298896576
hasp4
2011-02-28 15:36
2011.06.19
Размер памяти в hasp 4


15-1298707427
RWolf
2011-02-26 11:03
2011.06.19
Подскажите подходящий grid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский