Форум: "Media";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизСохранить Metafile Найти похожие ветки
← →
Viktor Kushnir (2003-08-19 14:40) [0]Создаю MetaFile :TMetaFile
Затем metaFileConvas :TmetaFileCanvas
Заполняю свойства
MetaFile.width := 2000;
MetaFile.height := 1000;
Рисую на TmetaFileCanvas что мне нужно
Удаляю TmetaFileCanvas через metaFileCanvas.free
Сохраняю содержимое MetaFile.SaveToFile
И получаю только левый верхний угл изображения и картинку с разрешением 2ххх на 2ххх точек.
Почему?
Если сдеаль финт ушами и нарисовать содержимое MetaFile на TBitmap (размера 2000х1000) и сохранить уже TBitmap, то все нормально.
{Bitmap.canvas.Draw(0,0metafilecanvas);
Bitmap.savetofile("...");}
Но для больших изображений (10000x5000) этот способ не годится.
Как правильно устанавливать размер MetaFile"a и сохранять его содержимое?
← →
MBo (2003-08-19 17:43) [1]
procedure TForm1.Button1Click(Sender: TObject);
var mf:TMetaFile;
mfc:TMetaFileCanvas;
begin
MF := TMetafile.Create;
MF.MMWidth:=2000*2540 div (Screen.PixelsPerInch);
MF.MMHeight:=2000*2540 div (Screen.PixelsPerInch);
with TMetafileCanvas.Create(MF, 0) do
try
Brush.Color := clRed;
Ellipse(0,0,2000,2000);
finally
Free;
end;
MF.SaveToFile("e:\qq.emf");
end;
← →
Viktor Kushnir (2003-08-19 19:12) [2]Спасибо щас попробую.
← →
Viktor Kushnir (2003-08-24 09:08) [3]Все отлично работает, но почему привязка к Screen.PixelsPerInch?
Можно его привязать к другому разрешеннию? К принтеру например?
Да и на выходе сохраняется все избражение, но получается оно в пикселях в ~3 раза больше чем было заявлено. То есть было 2000, стало 6073 например. Это не критично, но хотелось бы знать - почему?
← →
MBo (2003-08-24 13:22) [4]>почему привязка
метафайлы привязаны к конкретному контексту
TMetafileCanvas.Create(MF, 0) означает привязку к десктопу
>получается оно в пикселях в ~3 раза больше чем было заявлено
У меня в пикселах 2003*2008
← →
Viktor Kushnir (2003-08-25 09:17) [5]Ага, то есть стоит мне указать не 0, а DC принтера - и все будет ок?
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c