Здравствуйте, 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 в регион заданного размера — и всё.
Здравствуйте, 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, ...
К сожалению, наверное не то, по крайней мере у меня не получилось.
Здравствуйте, Аноним, Вы писали:
L>>Как получить метафайл с разрешением 20, 30, 40 ?
А>Метафайл — векторный формат, а значит, можно масштабировать его с разным разрешением без потери качества (за исключением искажений самого растеризатора). Воспроизводите его на нужный контекст (экран, принтер etc) через PlayEnhMetafile в регион заданного размера — и всё.
Нет нужен именно метайл с разрешением, чтобы функции типа GetTextWidth давали верные значения