2009-04-09 26 views
5

Nếu tôi có hình ảnh wmf hoặc emf trong System.Drawing.Image, có cách nào để lưu dữ liệu siêu dữ liệu bằng C# mà không hiển thị nó dưới dạng bitmap không? Gọi Image.Save sẽ hiển thị nó thành một bitmap và tôi muốn giữ nguyên dữ liệu ban đầu để nó vẫn sẽ là một tệp định dạng .wmf hoặc .emf hợp lệ.Lưu metafile trong C#

+0

bản sao có thể có của [GDI +/C#: Cách lưu hình ảnh dưới dạng EMF?] (Http://stackoverflow.com/questions/152729/gdi-c-how-to-save-an-image-as-emf) – finnw

Trả lời

2

Có vẻ như bạn không thể.

On this MSDN page, nó được phát biểu:

chú

Khi bạn sử dụng phương thức Save để lưu một hình ảnh đồ họa như một định dạng Windows Metafile (WMF) hoặc tăng cường Format Metafile (EMF) tập tin, tệp kết quả được lưu dưới dạng tệp Đồ họa mạng di động (PNG) thay thế. Hành vi này xảy ra vì thành phần GDI + của .NET Framework không có bộ mã hóa mà bạn có thể sử dụng để lưu tệp dưới dạng tệp .wmf hoặc .emf.

2

Có thể lưu một siêu tệp theo định dạng gốc nếu bạn sử dụng gdi32.dll.

Tôi đang sử dụng phương pháp được mô tả here và hoạt động tốt.