Загрузка Tmetafile и заливка

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Нашел интересный глюк с которым не могу разобраться. Если загруженный метафайл перерисовать в другой метафайл с помощью EnumEnhMetaFile, то в новом метафайле пропадает заливка. Кто-нибудь с этим сталкивался?

Пример кода:
//загружаем файл
var
FEmf: TMetaFile;
mfc: TMetaFileCanvas;
begin
FEmf := TMetaFIle.Create;
FEmf.LoadFromFile(filename);
mf := TMetaFIle.Create;
mfc := TMetaFileCanvas.Create(mf, 0);
EnumEnhMetaFile(mfc, FEmf.Handle, @OneRecord, Self, r);
mfc.Free;
end;
Если теперь вывести mf на экран с помощью PlayEnhMetaFile, то заливка пропадает.

//процедура OneRecord имеет вид:
function OneRecord(DC: HDC;
lpHTable: PHANDLETABLE;
lpEMFR: PENHMETARECORD;
nObj: integer;
obj: pointer): integer; stdcall;
begin
PlayEnhMetaFileRecord(DC, lpHTable^, lpEMFR^, nObj);
end;
 
Статус
Закрыто для дальнейших ответов.