我的应用程序使用 cairo 绘制一些图像,如下所示:
cairo_set_source_surface(cr, _page_down_icon, icon_x, y);
cairo_paint(cr);
其中向下翻页图标是我通过cairo_image_surface_create_from_png
加载的png。
这在标准屏幕上工作正常,但在视网膜显示器上产生低质量图像。所以我正在考虑拥有第二个具有双分辨率的图像(就像 NSImage 常见的那样)。但是,如果我只绘制此图像,结果将是标准图像的两倍。所以我的问题是:如何使用 cairo 在视网膜显示屏上绘制高分辨率图像,使其看起来清晰?
最佳答案
cairo_scale 是你的 friend 。使用此方法,您可以调整表面轴的缩放比例。为了获得您想要的结果,您需要将第二张图像缩放 0.5(并不是说您还必须调整图像的目标位置!)。
关于macos - Cairo 和高 DPI 绘图(在视网膜表面上绘图,OS X),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301259/