cairo - 在开罗绘制图像时如何禁用线性插值/平滑/抗锯齿?

标签 cairo pycairo

我想通过放大将低分辨率图像绘制到开罗的另一个表面上。例如,我有一个 2x3 图像,放大后看起来像这样:

enter image description here

将此图像绘制到缩放级别为 10 的另一个表面上会导致:

enter image description here

渲染代码紧跟 this example ,即所有表面/上下文设置均为默认值。显然,开罗默认应用一些插值。我想要的是保持原始图像的块状/像素化外观。

如何控制开罗的插值类型?在其他库中,通常有设置 interpolation 的选项。来自 cubiclinearnearest .开罗有类似的吗?

最佳答案

我想你可能正在寻找类似 cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_NEAREST); 的东西.此调用将在 cairo_set_source_surface() 之后完成.

关于cairo - 在开罗绘制图像时如何禁用线性插值/平滑/抗锯齿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326851/

相关文章:

python - 使用 pyCairo 旋转图像

python - pycairo 中的箭头

igraph - 安装 Cairo 和 PyCairo Mac OsX

python - 在图形工具中更改背景颜色

python - queue_draw_area 具有特定的处理程序?

c++ - 开罗绘图时内存泄漏

multithreading - gdk_window_invalidate_rect 未发送绘制事件

python - Cairo GTK 画一条透明线(像荧光笔)

python - pip 安装失败,出现 FileNotFoundError : setup. py

c - 多线程、gtk3 和 cairo : drawing in a cairo surface