我正在尝试编写一个程序,该程序可以将给定的BMP文件旋转180度并使用旋转后的图像创建一个新的BMP文件。我正在使用EasyBMP库。但是,每次尝试编译时,都会收到以下警告:

EasyBMP Warning: Attempted to access non-existent pixel (359, 236);
                 Truncating request to fit in the range [0,358] x [0,269].


我得到了数百个! (有问题的图像是359x270),奇怪的是我的代码实际上可以100%工作。当我运行该程序时,它确实会创建旋转的图像并且看起来很完美。

最佳答案

如果应该

for (int x = 0; x < width; x++) {
    for (int y = 0; y < height; y++) {
        color = in(x, y);
        *(out(width - x - 1, height - y - 1)) = *color;
    }
}


(请注意,添加了<而不是<=- 1)。

关于c++ - EasyBMP库编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4772148/

10-11 19:40