刚自己简单试了下,编了个长宽各缩小一半和放大一倍的小程序。缩放整数倍应该是比较简单的。
具体思路就是:
缩小:就把原图相邻四个像素点合成一个像素点填充到缩小后的图像中,合成的方式可以是任取其一、取平均值、取最大值或者最小值等等,具体方法自己选择,我用的方法是选择左上角的那个像素点,因为比较简单。
放大:相反,把原图的一个像素点的像素值填充到放大后图像的四个像素格里面去。
用at()函数操作像素还算简单。
至于不是整数倍的缩放,没有深入研究,暂时不知道怎么做。