Metafile любого разрешения
От: lubim  
Дата: 04.02.08 10:11
Оценка:
Вот так создаю метафайл и его канвас:

Meta := TMetafile.Create;
MetaCanvas := TMetafileCanvas.Create(Meta, 0);

вторым параметром при создании канваса передаю
0 т.е. дескриптор экрана и получаю метафайл
с разрешением 96 дюйм/пиксель

Как получить метафайл с разрешением 20, 30, 40 ?
Re: Metafile любого разрешения
От: matvienko Украина http://www.aquapack.com/ http://www.PlainCAD.com/
Дата: 24.02.08 02:43
Оценка:
Здравствуйте, lubim, Вы писали:

L>Вот так создаю метафайл и его канвас:


L> Meta := TMetafile.Create;

L> MetaCanvas := TMetafileCanvas.Create(Meta, 0);

L>вторым параметром при создании канваса передаю

L>0 т.е. дескриптор экрана и получаю метафайл
L>с разрешением 96 дюйм/пиксель

L>Как получить метафайл с разрешением 20, 30, 40 ?


Копать в сторону
SetMapMode(MetaCanvas.Handle, ...);
MM_HIMETRIC — 100 точек на мм и ось 0Y направлена вверх
MM_LOMETRIC — 10 точек на мм и ось 0Y направлена вверх
MM_ISOTROPIC, MM_ANISOTROPIC, ...
Re: Metafile любого разрешения
От: Аноним  
Дата: 26.02.08 18:56
Оценка:
Здравствуйте, lubim, Вы писали:

L>Вот так создаю метафайл и его канвас:


L> Meta := TMetafile.Create;

L> MetaCanvas := TMetafileCanvas.Create(Meta, 0);

L>вторым параметром при создании канваса передаю

L>0 т.е. дескриптор экрана и получаю метафайл
L>с разрешением 96 дюйм/пиксель

L>Как получить метафайл с разрешением 20, 30, 40 ?


Метафайл — векторный формат, а значит, можно масштабировать его с разным разрешением без потери качества (за исключением искажений самого растеризатора). Воспроизводите его на нужный контекст (экран, принтер etc) через PlayEnhMetafile в регион заданного размера — и всё.
Re[2]: Metafile любого разрешения
От: lubim  
Дата: 03.03.08 15:02
Оценка:
Здравствуйте, matvienko, Вы писали:

L>>Как получить метафайл с разрешением 20, 30, 40 ?


M>Копать в сторону

M> SetMapMode(MetaCanvas.Handle, ...);
M> MM_HIMETRIC — 100 точек на мм и ось 0Y направлена вверх
M> MM_LOMETRIC — 10 точек на мм и ось 0Y направлена вверх
M> MM_ISOTROPIC, MM_ANISOTROPIC, ...

К сожалению, наверное не то, по крайней мере у меня не получилось.
Re[2]: Metafile любого разрешения
От: lubim  
Дата: 03.03.08 15:04
Оценка:
Здравствуйте, Аноним, Вы писали:

L>>Как получить метафайл с разрешением 20, 30, 40 ?


А>Метафайл — векторный формат, а значит, можно масштабировать его с разным разрешением без потери качества (за исключением искажений самого растеризатора). Воспроизводите его на нужный контекст (экран, принтер etc) через PlayEnhMetafile в регион заданного размера — и всё.


Нет нужен именно метайл с разрешением, чтобы функции типа GetTextWidth давали верные значения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.