Помогите, как открыть метафайлы (wmf) в Visual C++. Функция PlayMetafile() их не открывает (вернее открывает метафайлы, созданные функцией CopyMetafile(), а остальные не открывает, не смотря на то, что я и вырезаю у них первые 22 байта, как сказано).
Здравствуйте Elder, Вы писали:
E>Помогите, как открыть метафайлы (wmf) в Visual C++. Функция PlayMetafile() их не открывает (вернее открывает метафайлы, созданные функцией CopyMetafile(), а остальные не открывает, не смотря на то, что я и вырезаю у них первые 22 байта, как сказано).
а с каких это пор PlayMetafile начала открывать файлы ?
в общем вот пример
Здравствуйте Archie, Вы писали:
A>Здравствуйте Elder, Вы писали:
E>>Помогите, как открыть метафайлы (wmf) в Visual C++. Функция PlayMetafile() их не открывает (вернее открывает метафайлы, созданные функцией CopyMetafile(), а остальные не открывает, не смотря на то, что я и вырезаю у них первые 22 байта, как сказано).
A>а с каких это пор PlayMetafile начала открывать файлы ?
Ну, имелась в виду, конечно, GetMetaFile (или GetEnhMetaFile).
A>в общем вот пример
За пример спасибо, но вот что-то я опять не понимаю — пытаюсь читать обычный (не aldus) метафайл
A>
MetaFileHandle=GetEnhMetaFile("a.wmf");
CMetaFileDC* RepMetaFile = new CMetaFileDC();
CRect rc(0,0,10000,10000);
RepMetaFile->CreateEnhanced(NULL,NULL,&rc,NULL);
RepMetaFile->PlayMetaFile(MetaFileHandle,NULL); // а вот тут она уже не работает, возвращает 0
A>
MetaFileHandle=GetEnhMetaFile("a.wmf");
CMetaFileDC* RepMetaFile = new CMetaFileDC();
CRect rc(0,0,10000,10000);
RepMetaFile->>CreateEnhanced(NULL,NULL,&rc,NULL);
RepMetaFile->>PlayMetaFile(MetaFileHandle,&rc); // а вот тут она уже не работает, возвращает 0
Где ошибка-то?
И еще, можно ли каким-то образом обработать метафайл из консольного приложения, т.е. не создавая окна и работая затем через HWND, а как бы внутри считать, кое-чего дорисовать и затем снова записать. Может есть какие-нибудь библиотеки, где это реализовано?
Здравствуйте Elder, Вы писали:
E>Помогите, как открыть метафайлы (wmf) в Visual C++. Функция PlayMetafile() их не открывает (вернее открывает метафайлы, созданные функцией CopyMetafile(), а остальные не открывает, не смотря на то, что я и вырезаю у них первые 22 байта, как сказано).
Вот нрыл когда то класс для сабжа — работает
Здравствуйте Юнусов Булат, Вы писали:
ЮБ>Здравствуйте Elder, Вы писали:
E>>Помогите, как открыть метафайлы (wmf) в Visual C++. Функция PlayMetafile() их не открывает (вернее открывает метафайлы, созданные функцией CopyMetafile(), а остальные не открывает, не смотря на то, что я и вырезаю у них первые 22 байта, как сказано). ЮБ>Вот нрыл когда то класс для сабжа — работает
Где взял — не помню только, а то бы ссылку кинул