[Ipe-discuss] Ipe image format

Sebastian Kürten sebastian.kuerten at fu-berlin.de
Mon Jan 6 10:39:39 CET 2014


Thank you very much, that was exactly the information I was looking
for. Got everything working with that now.

Sebastian


On Mon, 06 Jan 2014 03:35:37 +0900
Otfried Cheong <otfried at ipe.airpost.net> wrote:

> 
> 
> On 1/5/2014 8:23 PM, Sebastian Kürten wrote:
> > I'm working on a program that exports Ipe files. Now I try to insert
> > bitmaps via the <bitmap> element and referencing it via <image>
> > later in the file. What I did not find out yet is what format the
> > bitmap is encoded with.
> >
> > Since I did not find any information on the Web, I took a look at
> > what Ipe will produce. When I use Ipe to create a file with a
> > bitmap, I get encoding="base64", Filter="FlateDecode",
> > BitsPerComponent="8", length="x"
> >
> > I am able to decode the base64 string to some binary blob of length
> > x, but what is the format of the decoded string?
> 
> Have you looked at
> 
> http://ipe7.sourceforge.net/manual/manual_42.html
> 
> and
> 
> http://ipe7.sourceforge.net/manual/manual_44.html ?
> 
> Ipe deliberately accepts a simpler format than it produces itself, to 
> make it easy for other software to produce Ipe-compatible files.
> 
> If you just want to include a bitmap in a drawing, the easiest would
> be to say
> 
> <image rect="100 100 200 200" width="600" height="400"
>    ColorSpace="DeviceRGB" BitsPerComponent="8">
> 000000ff0000aaff00125c7d.....
> </image>
> 
> In other words, you don't need the <bitmap> element. you can put the 
> bitmap data right inside the <image> element.
> 
> If you omit the Filter attribute, then the image data is simply the 
> pixels of the image, from top left to bottom right, row by row.  In
> my example I omitted the encoding attribute, and so I provide image
> data in hexadeximal.  So 000000 is a single black pixel, ff0000 a red
> pixel, 00ff00 a green pixel, and ffffff a white pixel.
> 
> Alternatively you can provide the same data in base64 und give the 
> encoding attribute. If you want to use Filter="FlateDecode", you
> would need to first compress the raw image byte stream using zlib and
> then convert it to ASCII (either in hexadecimal or base64).
> 
> Cheers,
>   Otfried
> 
> _______________________________________________
> Ipe-discuss mailing list
> Ipe-discuss at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/ipe-discuss


More information about the Ipe-discuss mailing list