<div dir="ltr">Hi Uli,<div><br></div><div>Thanks for the clarification regarding the A1 and A8 formats. I did not notice this in the documentation. Further, when I run the sample program provided by you, the generated out.png is 1x2 image in complete black. I do not see the white pixel.</div>
<div><br></div><div>I would like to generate a white surface and then draw some text over it in black using pango layout api (pango_layout_set_text). And then make use the raw data of the surface, and not really interested in the png output. Is this possible using the cairo?</div>
<div><br></div><div>Thanks in advance. </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 28, 2014 at 6:15 PM, Uli Schlachter <span dir="ltr"><<a href="mailto:psychon@znc.in" target="_blank">psychon@znc.in</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div><div class="h5"><br>
On 28.03.2014 07:01, sthustfo wrote:<br>
> I am using cairopango library to render text on monochrome image on Ubuntu<br>
> 13.10. Now before rendering text, I create a surface of type<br>
> CAIRO_FORMAT_A1, create a cairo context and set the source to solid white.<br>
> However, the color of the image remains black even though I have set the<br>
> color source to solid white. I want to render black color text on white<br>
> background.<br>
><br>
> surface = cairo_image_surface_create (CAIRO_FORMAT_A1, 320, 280);<br>
> cr = cairo_create (surface);<br>
> cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 1.0);<br>
> cairo_paint (cr);<br>
><br>
> cairo_surface_write_to_png (surface, filename);<br>
><br>
> The saved PNG image always is black color. How do I achieve an image of<br>
> solid white color for a monochrome image (CAIRO_FORMAT_A1)? If suppose, the<br>
> surface is created using CAIRO_FORMAT_ARGB32, then everyrhing is fine.<br>
<br>
</div></div>Please note that CAIRO_FORMAT_A1 and CAIRO_FORMAT_A8 are *not* monochrome<br>
images. They describe images without any colors at all which only contain an<br>
alpha channel. Only when generating a PNG are these images interpreted as<br>
monochrome. The contents of the color components in your call to<br>
cairo_set_source_rgba() won't make any difference at all.<br>
<br>
Also note that the default operator (CAIRO_OPERATOR_OVER) doesn't allow to<br>
"remove transparency", it only ever is added.<br>
<br>
Attached is a program which generates a PNG with a white and a black pixel. It<br>
uses the operator "SOURCE" to set the alpha-value of the target pixel. I hope<br>
this can help you.<br>
<br>
Cheers,<br>
Uli<br>
<span class="HOEnZb"><font color="#888888">--<br>
No matter how much cats fight, there always seem to be plenty of kittens.<br>
</font></span></blockquote></div><br></div>