`
gaofen100
  • 浏览: 1190171 次
文章分类
社区版块
存档分类
最新评论

IMAGE 的缩放

 
阅读更多

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);

}

相信这个简答的算法大家都明白了,如果没有看明白的或者有更好的欢迎指正!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics