<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div class="msg-body inner  undoreset" role="main" style=""><div id="yiv1799701703"><div><div style="color:#000;background-color:#fff;font-family:times new roman, new york, times, serif;font-size:12pt;"><div><span class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; </span>I
 want to set the surface to itself and scaled the surface. That is , I 
want to&nbsp; use just one surface( it has drawed path) to scaled. <br></div><div><span class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; </span><span id="yiv1799701703result_box" class="yiv1799701703short_text" lang="en"><span class="yiv1799701703">I hope you can</span> <span class="yiv1799701703hps">understand what I mean. This is the simple code. But the result (</span></span><span id="yiv1799701703result_box" class="yiv1799701703short_text" lang="en"><span class="yiv1799701703">attachment</span></span><span id="yiv1799701703result_box" class="yiv1799701703short_text" lang="en"><span class="yiv1799701703hps">) is very </span></span><span id="yiv1799701703result_box" class="yiv1799701703short_text" lang="en"><span class="yiv1799701703">confused to me. wait fot your reply.</span></span></div><div><span class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; Thank you very much.</span></div><div><span class="yiv1799701703tab"><br></span></div><div><span
 class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; </span>#define edge 600<br><span class="yiv1799701703tab"></span></div><div><span class="yiv1799701703tab"><br></span></div><div><span class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; uchar * pbit = (uchar *)malloc(32*edge * edge);<br>&nbsp;&nbsp;&nbsp; memset(pbit, 0, 32*edge * edge);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span></div><div><span class="yiv1799701703tab"><br></span></div><div><span class="yiv1799701703tab">&nbsp;&nbsp;&nbsp; </span><span class="yiv1799701703tab">surface = cairo_image_surface_create_for_data((uchar *)pbit,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 CAIRO_FORMAT_ARGB32,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edge, edge,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, edge));<br>&nbsp;&nbsp;&nbsp; cr = cairo_create(surface);</span>&nbsp;&nbsp;&nbsp; </div><div><br></div><div>&nbsp;&nbsp;&nbsp; cairo_set_source_rgba(cr, 1.0, 1.0, 0.0, 1);<br>&nbsp;&nbsp;&nbsp; cairo_rectangle(cr, 150, 150, 300, 300);<br>&nbsp;&nbsp;&nbsp;
 cairo_fill_preserve(cr);<br><br>&nbsp;&nbsp;&nbsp; cairo_set_source_rgba(cr, 0.0, 1.0, 1.0, 1);<br>&nbsp;&nbsp;&nbsp; cairo_stroke(cr);<br><br>&nbsp;&nbsp;&nbsp; cairo_move_to(cr, 150, 150);<br>&nbsp;&nbsp;&nbsp; cairo_line_to(cr, 450, 450);<br>&nbsp;&nbsp;&nbsp; cairo_line_to(cr, 450, 150);<br>&nbsp;&nbsp;&nbsp; cairo_line_to(cr, 150, 450);<br>&nbsp;&nbsp;&nbsp; cairo_stroke(cr);</div><div><br></div><div>&nbsp;&nbsp;&nbsp; cairo_save(cr);<br>&nbsp;&nbsp;&nbsp; cairo_scale(cr, 1.0, 1.4);<br>&nbsp;&nbsp;&nbsp; cairo_set_source_surface(cr, surface, 0, 0);<br>&nbsp;&nbsp;&nbsp; cairo_rectangle(cr , 0, 0, edge, edge);<br>&nbsp;&nbsp;&nbsp; cairo_fill(cr);<br>&nbsp;&nbsp;&nbsp; cairo_restore(cr);</div></div></div></div></div></div></body></html>