Comment 9 for bug 818539

Revision history for this message
David Mathog (mathog) wrote :

I have this working now, both for import and export. By "working" I mean that it works within the limits of what EMF can do. So long as the image is rectangular and aligned along the X,Y axes this code works. What EMF cannot do is move an image with transparency, nor can it handle a rotated image. There are some applications that appear to do this, but if you look at the EMF's they produce what they are actually doing is a series of EMR structures that mask, OR, and do other composite operations, rather than using a single EMR_STRETCHDIBITS record. It was far too messy to have Inkscape try to figure out when such an EMF was trying to create a modified bitmap. So on input it just stores every bitmap it finds. If some of these are masks or other odd things they can be deleted, or moved to gimp and merged there into a transparency and then reimported.

The differences relative to trunk from 2/29/2012 are attached, and any future changes will also be here:

http://saf.bio.caltech.edu/pub/software/windows/inkscape_changes.tar.gz

Note, there are some changes unrelated to this bug in that archive. The pieces specifically for this bug are to be found in the emf*cpp, and emf*h files, as well as in the build.xml.