2013-02-16 41 views
3

我需要形象化一個機器人遊戲的遊戲場。不幸的是,遊戲使用右手座標系,y軸向上。如何轉置cairo上下文或更改軸的方向?

有沒有辦法調整繪圖區域的cairo上下文以便它匹配這個座標系?

我可以縮放,平移和旋轉,但我無法找到切換y軸方向的方法,與單獨轉換所有座標相比,這樣會更方便。

感謝您的任何意見!

回答

3

你被允許在cairo_matrix_t定義各個領域:

cairo_matrix_t flip_y; 
cairo_matrix_init(&flip_y, 1, 0, 0, -1, 0, 0); 
cairo_set_matrix(cr, &flip_y); 

只記得改造中的應用方式:

x_new = xx * x + xy * y + x0; 
y_new = yx * x + yy * y + y0; 
+3

一些輕鬆的具有同樣的效果:cairo_scale(CR,1, -1); – 2013-02-17 15:25:11

+0

謝謝,這工作! – Daniel 2013-02-19 00:22:14

相關問題