1

我正在尝试通过对最近的像素求和以缩小图像大小来实现自定义抗锯齿例程。

我试图求和并表示最多 3 个像素宽,但结果并不好,它和以前一样抗锯齿(编辑我的意思是锯齿)。

这是我使用的代码:

h is height
w is width
buf is a buffer containing the values.
out is the output buffer

for (int x = 0; x < w; x++)
    for (int y = 0; y < h; y++)
    {
        int n = 3;
        int x1 = x - n;
        int x2 = x + n;

        if (x1 < 0) x1 = 0;
        if (x2 > w -1) x2 = w - 1;

        int y1 = y - n; 
        int y2 = y + n;

        if (y1 < 0) y1 = 0;
        if (y2 > h - 1) y2 = h - 1;

        double sum = 0;
        for (int i = x1; i <= x2; i++)
            for (int j = y1; j <= y2; j++)
                 sum += buf[i][j];

        sum = sum / double((x2 - x1 +1) * (y2 - y1 +1));
        out[x][y] = sum;
    }

我可以用什么快速的例程来做一个简单的基本抗锯齿?

4

0 回答 0