Project moved to https://github.com/papnkukn/wmf
The library supports reading and writing WMF files. Source code is written in pure .NET from scratch following the Windows Metafile Format Specification.
- Name: Window Metafile Format (WMF)
- File extension: .wmf, .emf
- Mime type: image/x-wmf, image/x-emf
- Classification: vector/raster image
- Identifier: D7 CD C6 9A (first four bytes)
WMF is all about records - recorded sequence of actions. As opposite to other vector or raster image formats that define final image appearance, WMF contains intermediate states. Those states can be modified at specific working stage or can be "played"
back to render an image. From other point of view WMF file natively contains "undo" history.
Another advantage of WMF is to support both vector and raster elements in one file. Disadvantage are lack of features (e.g. no element grouping like layers or trees), 16-bit limitations, bad extensibility due to old image format.
WMF can be replaced by EPS but since Windows has good integration with the WMF it is still useful in some cases: clipboard - transfering images with copy/paste, Clip Art images from MS Office are WMF, etc.
This library does not fully implement Windows Metafile Format Specification. Current library version (v0.3) supports
only basic WMF records
but the source code is well structured so the missing records can easily be implemented if needed. I am not planning to develop other WMF records as the current version fulfills my requirements for another project.