[Ipe-discuss] Include bitmap in ipe XML file
Otfried Cheong
otfried at ipe.airpost.net
Thu Apr 4 01:57:32 CEST 2013
> Now when I got everything aligned I thought to include background
> image for reference (which I previously process to extract certain
> features as marks) My problem is that it seems I can't include image
> as file path, but I need to encode it (filter FlateDecode) and hexify
> then store inside XML file. For that purpose I used zlib module
> compression, on png image binary data, but encoded content is not the
> same as content saved from ipe (if I insert same image from ipe GUI
> and save as ipe XML). Header seems same/similar, but not the stream
> and as expected ipe can't read my generated file.
The contents of the <bitmap> or <image> element must be the actual pixel
data (not a PNG file contents). Assuming a color image, you need to
dump the pixel values, starting at the top left, going row by row, until
the bottom right.
You don't need to compress or base64-encode, just dump the values in
hexadecimal (so six hexadecimal digits are one RRGGBB pixel). You can
include spaces or new-lines, they are ignored.
E.g.
<bitmap id="1" width="10" height="10" ColorSpace="DeviceRGB"
BitsPerComponent="8">
7a3400000000ff0000ff0000aa3478....
</bitmap>
This syntax is for Ipe 7, but I'm pretty sure it did not change between
Ipe 6 and Ipe 7. Definitely the main point was the same: don't set a
filter, and include the image contents in hexadecimal (Base-64 encoding
was added in Ipe 7.0.5).
And of course Ipe 6 is really outdated now - it got obsolete in 2009...
Is there any reason why you don't move to Ipe 7?
Cheers,
Otfried
More information about the Ipe-discuss
mailing list