IMAGE 的缩放有很多种算法。这里只选取了最简单的一种
思路
① : 获得源图像的RGB
② : 根据需要进行采样
③ : 根据采样结果创建新图片
public Image resizeImage(int dest_w, int dest_h)
{
//得到源图像的RGB值
int src_w = src.getWidth();
int src_h = src.getHeight();
int srcRgb[] = new int[src_w*src_h] ;
int destRgb[] = new int[dest_w * dest_h];
src.getRGB(srcRgb, 0, src_w, 0, 0, src_w,src_h);
//修改rgb值(采样)
for (int i = 0; i < dest_h; i++) {
for (int j = 0; j <dest_w; j++) {
int src_x = j * src_w / dest_w;
int src_y = i * src_h / dest_h;
destRgb[j + i* dest_w] = srcRgb[src_x + src_y * src_w];
}
}
//由rgb值来获得图像
return Image.createRGBImage(destRgb, dest_w, dest_h, true);
}
相信这个简答的算法大家都明白了,如果没有看明白的或者有更好的欢迎指正!