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

Вниз

Как создать TMetafileCanvas   Найти похожие ветки 

 
SDS   (2003-02-28 16:39) [0]

Прошу помощи.
Есть проблема, мне нужно нарисовать на метафайле TMetafile графические данные, но TMetafileCanvas создаеться только для конкретного устройства (параметр конструктора constructor TMetafileCanvas.Create(AMetafile: TMetafile; ReferenceDevice: HDC);) мне хотелось бы создать метафайл с определенными размерами, но если создаешь метафайл, вызываешь конструктор TMetafileCanvas.Create, с параметром ReferenceDevice := 0, создаеться меитафайл с размерами экрана, ест ли какой либо выход так чтоб при создании матафайла размеры его устанавливались мной, а также можно ли как либо создать TMetafileCanvas так чтобы результат TMetafileCanvas.ClipRect возвращал результат равный размерам метафайла.
Система Win2000 Prof SP3, заранее спасибо


 
RBear   (2003-04-08 15:20) [1]

При рисовании на канвасе метафайла нарисуй сначала треугольник, размеры которго будут соответствовать размер области, на которой хочешь рисовать. Дело в том, метафайл является устройствонезависимым и как показывать отдельный метафайл должна заботится сама программа. Поэтому при сохранении метафайла в собственно файле :) просчитывается позиция самой левой, самой правой, самой верхней и самой нижней точки на канвасе. По ним и пишется информация о размере.

Создавать метафайл на основе DC экрана очень даже нормально.

Думаю, если задашь размеры метафайла описанным мною способом, то и ClipRect правильно сработает.


 
RBear   (2003-04-08 18:16) [2]

упс, ошибка, нарисуй конечно прямоугольник :)



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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
1-100809
Alexxxx
2003-07-16 16:23
2003.07.31
прозрачный WebBrowser


8-100846
Saracin
2003-02-05 19:32
2003.07.31
Как получить размеры картинки


7-101007
vvip
2003-05-20 08:50
2003.07.31
Мониторинг com-порта


1-100724
kisa_co
2003-07-18 23:22
2003.07.31
Plugins, используя BPL


3-100598
Spawn
2003-07-08 15:43
2003.07.31
InterBase





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