Что такое .NET-эквивалент CreateEnhMetaFile и PlayEnhMetaFile? - PullRequest
0 голосов
/ 01 декабря 2008

Я портирую некоторый код C ++ на VB.NET, который создает задание на печать, состоящее из нескольких страниц. На каждой странице есть шаблон графических объектов (текст, линии, кривые и т. Д.), Который остается одинаковым на каждой странице, и поверх него накладываются различные данные для каждой страницы.

Шаблон создается в начале задания на печать как метафайл в памяти с использованием CreateEnhMetaFile, а в начале каждой страницы этот метафайл рисуется в контексте устройства печати с использованием PlayEnhMetaFile.

Как я могу сделать это в .NET? Из моего прочтения API до сих пор кажется, что я могу только импортировать Metafile из файла или потока, но не создавать его с нуля. Это правильно?

1 Ответ

1 голос
/ 01 декабря 2008

Пожалуйста, посмотрите на следующие страницы ...

1) http://msdn.microsoft.com/en-us/library/zbk7dbtb.aspx
2) http://msdn.microsoft.com/en-us/library/ms536391.aspx
3) http://msdn.microsoft.com/en-us/library/1h5aa6y9.aspx

Вы можете создать объект MetaFile, используя следующий конструктор

public Metafile(Stream stream)

принять MemoryStream в качестве конечного пункта назначения команд метафайла.

например

var mf = new MetaFile(new MemoryStream());

Надеюсь, это поможет.

...