2

私のアプリケーションは、次のように cairo を使用していくつかの画像を描画します。

cairo_set_source_surface(cr, _page_down_icon, icon_x, y);
cairo_paint(cr);

ページダウンアイコンは、cairo_image_surface_create_from_png.

これは標準の画面では問題なく動作しますが、Retina ディスプレイでは低品質の画像が生成されます。そのため、2 倍の解像度の 2 番目の画像を作成することを考えています (NSImage では通常のことです)。ただし、この画像をそのまま描画すると、結果は標準画像の 2 倍になります。私の質問は、Retina ディスプレイで cairo を使用して高解像度の画像を描画し、鮮明に見えるようにするにはどうすればよいかということです。

4

1 に答える 1

2

cairo_scale はあなたの友達です。この方法を使用すると、サーフェスの軸のスケーリングを調整できます。必要な結果を得るには、2 番目の画像を 0.5 倍にスケールします (画像のターゲット位置も調整する必要はありません!)。

于 2013-05-07T07:23:17.457 に答える