Re: Strange bug (?) when painting/cropping recording surface to PDF surface

Guillaume Ayoub <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Hi,

It really looks like a bug reported a long time ago:
https://lists.cairographics.org/archives/cairo/2013-May/024301.html
http://lists.cairographics.org/archives/cairo/2013-June/024406.html

Good news, there's a patch for it!
http://lists.cairographics.org/archives/cairo/2016-January/027185.html

Best regards,
-- 
Guillaume

Le dim. 10 avril 2016 à 9:28, Adrian Johnson <[email protected]> a 
écrit :
> On 10/04/16 03:25, Bernhard R. Fischer wrote:
>>  Hi!
>> 
>>  _Background_
>>  In my project a record all drawing operations to a recording 
>> surface.
>>  Finally, to output files I create surfaces of specific backends 
>> (PNG,
>>  PDF, and SVG) and "crop" (the final surface is smaller than the
>>  recording source surface), rotate, and paint the recording surface 
>> to it.
>> 
>> 
>>  _Strange Behavior_
>>  When using PDF as backend, not everything is painted from the source
>>  (recording) surface to the PDF surface. On PNG and SVG it works as 
>> expected.
>> 
>> 
>>  _Examples_
>>  There is a PNG and PDF example to show the behavior. Look at the 
>> right
>>  lower corner: right of the string "015°30" the short black lines 
>> in the
>>  axis are missing compared to the PNG.
>>  http://www.abenteuerland.at/download/eagle/output.pdf
>>  http://www.abenteuerland.at/download/eagle/output.png
>> 
>> 
>>  _Trigger_
>>  I observed, that this behavior is triggered as soon as the PDF 
>> surface
>>  is smaller than the recording surface.
>> 
>> 
>>  _Code Snippet_
>>  The following code snippets shows how I create the PDF and PNG 
>> surface
>>  from the recording surface (sfc_).
>> 
>> 
>>  	/* create PDF from sfc_ */
>>  	sfc = cairo_pdf_surface_create("output.pdf", width*.7, height*1.3);
>>  	dst = cairo_create(sfc);
>>  	cairo_rotate(dst, DEG2RAD(15));
>>  	cairo_set_source_surface(dst, sfc_, 0, 0);
>>          cairo_paint(dst);
>>          cairo_show_page(dst);
>>          cairo_destroy(dst);
>>          cairo_surface_destroy(sfc);
>> 
>> 
>>  	/* create PNG from sfc_ */
>>           sfc = cairo_image_surface_create(CAIRO_FORMAT_RGB24, 
>> width*.7,
>>  height*1.3);
>>           dst = cairo_create(sfc);
>>           cairo_rotate(dst, DEG2RAD(15));
>>           cairo_set_source_surface(dst, sfc_, 0, 0);
>>           cairo_paint(dst);
>>           cairo_show_page(dst);
>>           cairo_destroy(dst);
>>           cairo_surface_write_to_png(sfc, "output.png");
>>           cairo_surface_destroy(sfc);
>> 
>> 
>>  Any hints appreciated.
> 
> If you can provide a simple test case that reproduces the bug with the
> current version of cairo I can look into it.
> 
>> 
>>  Best regards,
>>  Bernhard
>> 
> 
> --
> cairo mailing list
> [email protected]
> https://lists.cairographics.org/mailman/listinfo/cairo

-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.