Interesting idea... I've tried to do that in several ways now, unfortunately without any success. Would you be so kind to sketch up some lines of code on how this could be done?<br>Many thanks,<br>Fred<br><br><div class="gmail_quote">
On Thu, Oct 4, 2012 at 11:00 PM, Arjen Nienhuis <span dir="ltr"><<a href="mailto:a.g.nienhuis@gmail.com" target="_blank">a.g.nienhuis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">Maybe you can create a 1x1 A8 surface, write a byte to the data, and use it as a source.</p>
<div class="gmail_quote"><div><div class="h5">On Oct 2, 2012 11:33 AM, "Manfred Kogler" <<a href="mailto:manfred.kogler@gmail.com" target="_blank">manfred.kogler@gmail.com</a>> wrote:<br type="attribution">
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Hi,<br><br>Currently I am rendering postscript commands using Cairo to a CAIRO_FORMAT_RGB24 image surface. This image then I have to transfer/map to the framebuffer of a display device. One pixel in that display framebuffer is an 8-bit index into a predefined color table. Hence, when transferring the CAIRO_FORMAT_RGB24 image surface into the 8-bit display framebuffer each RGB-pixel is mapped to the respective 8-bit color index and this index value is written to the framebuffer at the respective position. This works fine, only it is a bit slow since rendering a frame always involves copying/transferring the whole image into that 8-bit framebuffer.<br>


<br>To get rid of copying/transferring the image I thought of using cairo_image_surface_create_for_data(frame_buffer, CAIRO_FORMAT_A8, ...). My plan is to not write an intermediary RGB image anymore but to somehow directly write the RGB-mapped color-index-table-values to that A8-byte-buffer. I tried several approaches but could not figure out how to write one byte (color index) to that CAIRO_FORMAT_A8 image surface and am not sure whether it is possible at all.<br>


<br>Effectively, my question reduces to the following point:<br>Is there a way to write (stroke/fill/paint/...) some byte unchanged to a CAIRO_FORMAT_A8 image surface?<br><br>Is there some way to do what I want?<br><br>Many thanks and best regards,<br>


Fred<br><br>
<br></div></div><span class="HOEnZb"><font color="#888888">--<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org" target="_blank">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br></font></span></blockquote></div>
</blockquote></div><br>