Re: Apply / Composite smaller PNGs onto large background PNG?

Uli Schlachter <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 13.06.2012 18:34, Jim Norton wrote:
> I'm somewhat new to GTK and very new to Cairo. I've been tasked to  
> create an application that needs to take a PNG as a background and  
> composite multiple PNG files that contains letters and numbers onto  
> the background PNG so that I end up with a single PNG that can then be  
> transformed, rotated, scaled etc. Any hints, tutorials, code samples  
> that I might find useful? As is the case with GTK, the Cairo  
> documentation appears somewhat lacking for a beginner trying to do  
> something more complex than drawing shapes.

The basic approach is to load each PNG into a cairo surface. Then, to draw the
content of surface a to surface b at the coordinates x, y, you would do:

  cairo_t *cr = cairo_create(b);
  cairo_set_source_surface(cr, a, x, y);
  cairo_paint(cr);
  cairo_destroy(cr);

Of course, you don't have to create and destroy the cairo_t all the time, but
can use it for drawing multiple surfaces one after another.

Hope this helps sending you in the right direction.

Uli
-- 
- Captain, I think I should tell you I've never
  actually landed a starship before.
- That's all right, Lieutenant, neither have I.
--
cairo mailing list
[email protected]
http://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.