小编Leo*_*aum的帖子

开罗图像缩放时模糊

我有以下开罗代码:

cairo_set_source_rgba(cr, 1, 1, 1, 1);
cairo_rectangle(cr, 0, 0, WINDOW_SIZE, WINDOW_SIZE);
cairo_fill(cr);
cairo_scale(cr, 8, 8);
draw_image(cr, "q.png", 5, 5);
Run Code Online (Sandbox Code Playgroud)

void draw_image(cairo_t* cr, char* img_name, int x, int y)
{
    cairo_translate(cr, x, y);
    cairo_surface_t* img = cairo_image_surface_create_from_png(img_name);
    cairo_set_source_surface(cr, img, 0, 0);
    cairo_paint(cr);
    cairo_translate(cr, -x, -y);
}
Run Code Online (Sandbox Code Playgroud)

q.png是5x5的图片: 在此处输入图片说明

但是在运行程序时,图像会稍微模糊:
在此处输入图片说明

我已经尝试过

cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

有什么办法可以解决这个问题?

c gtk cairo

4
推荐指数
1
解决办法
473
查看次数

标签 统计

c ×1

cairo ×1

gtk ×1