次のコードを使用して、座標を画面からデカルトに変更する必要がある Cairo を使用してプログラムを作成しています。
cairo_translate( cr, x, height );
cairo_scale( cr, 1.0, -1.0 ); // FLIP the Y axis
しかし、テキスト (cairo_show_text) をレンダリングしようとすると、テキストも反転されるため、判読できなくなります。
スケーリングされたフォント (cairo_scaled_font_t) を使用する場合も同じことが起こります。
cairo_font_options_t *font_options;
cairo_matrix_t ctm, font_matrix;
cairo_scaled_font_t *scaled_font;
font_options = cairo_font_options_create();
cairo_get_matrix( cr, &ctm );
cairo_get_font_matrix( cr, &font_matrix );
font_matrix.xx = font_matrix.yy = 20.0; // font size
// font_face initialized elsewhere and is valid
scaled_font = cairo_scaled_font_create( font_face, &font_matrix, &ctm, font_options );
cairo_set_scaled_font( cr, scaled_font );
cairo_move_to( cr, 1, 50 );
cairo_show_text( cr, "some text" );
...
マトリックスを調整する必要があると思いますが、方法がわかりません。どんな助けでも大歓迎です。前もって感謝します。
編集:
本文は上下逆です。たとえば、「L」はガンマのように見え、「W」は「M」のように見えます。