我有我的计算机科学类特殊的任务,我们必须这样做,以减少图像的尺寸如下:C++逐像素的图像缩略
- 查找块的平均颜色通过对每个块的R,G和B值进行平均,n乘n像素(n由 用户给出)。
- 将该颜色封装到一个像素中(只是一个普通的旧数据类)。
- 使用您拥有的像素创建新图像。
当我说找到的平均值,我的意思是每个块的平均颜色(如下面,仅较小的):
上述图像将产生4像素* 3PX图像缩略图。实际上,我们会使块〜10px左右。如果图像不能完全被块大小整除,我们应该忽略多余的像素。
图像的像素可以直接访问:
pixels[x][y].red = 130;
pixels[x][y].blue = 200; // etc
和图像可以通过以下方式创建:
image x;
x.createNewImage(xSize, ySize);
pixel** xPixels = x.getPixels();
//then you can assign as above.
尝试很多不同的事情后,我就如何仍不明朗解决这个问题。
开始创建其中n象素求n块的平均颜色的功能,开始与N = 1 – wimh 2014-11-08 19:36:43
我想你有一种加载图像的方法。你如何得到图片的大小? – Christophe 2014-11-08 19:40:19
@Christophe可以通过调用图像对象上的getWidth()和getHeight()来完成此操作。即'img.getWidth()'或'img.getHeight()' – Nick 2014-11-08 19:48:17