<div class="gmail_quote">On Tue, Jun 1, 2010 at 12:35 AM, Mj Mendoza IV <span dir="ltr">&lt;<a href="mailto:mjmendoza@konsolscript.org">mjmendoza@konsolscript.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Is there any way that I could load BMP/JPG/TGA without being tied to a specific library to avoid bloat? Is there a minimalist reusable &#39;standalone&#39; function that directly loads a BMP/JPG/TGA into the memory which cairo could use?<br>
<span></span></div></div></blockquote><div><br>I load images into memory using DevIL [1] and copy them from memory onto a Cairo image surface, translating from DevIL&#39;s IL_RGBA format to Cairo&#39;s CAIRO_FORMAT_ARGB32 [2]. Cairo has no built-in support for most image formats, so your only options are to use a third party library like DevIL or write your own image loading routines.<br>
<br>[1] <a href="http://openil.sourceforge.net/">http://openil.sourceforge.net/</a><br>[2] Something to look out for if you decide to do this: While the order of pixel components in Cairo&#39;s image format is affected by endianness, the order of components in DevIL is not. Thus, on x86 systems it turns out that while DevIL&#39;s format looks like (R, G, B, A), Cairo&#39;s format actually looks like (B, G, R, A).<br>
</div></div>