读书频道 > 网站 > 网页设计 > Java数字图像处理:编程技巧与应用实践
2.2.2 BufferedImage对象像素的读写方法
15-12-07    下载编辑
收藏    我要投稿   
本书分为两大部分,其中第一部为前三章,主要介绍Java Swing编程的基础知识。第二部分是本书的核心内容,系统全面地介绍图像处理的各种方法与常见应用场景编程实现。如果你已经对Java语言和Java Swing有基本的立即去当当网订购

首先来看看如何读取一个像素的RGB值。读取一个像素点的RGB值的代码如下:

index = row * width + col;
ta = (pixels[index] >> 24) & 0xff;
tr = (pixels[index] >> 16) & 0xff;
tg = (pixels[index] >> 8) & 0xff;
tb = pixels[index] & 0xff;

其中index表示该像素点位置,row表示纵坐标位置,col表示横坐标位置。图像左上角的像素点对应位置坐标为(0,0),右下角的位置坐标为(height-1, width-1),这里的height又表示图像的高度,width表示图像的宽度。

设置一个像素点的RGB值的代码如下:

index = row * width + col;
pixels[index] = (ta << 24) |
    (tr << 16) | (tg << 8) | tb;

其中ta表示透明度的值、tr表示RED通道值、tg表示GREEN通道值、tb表示BLUE通道值,它们的取值范围为[0~255]。

当创建的BufferedImage对象为ARGB类型,使用ImageIO保存为JPG格式时,你可能会发现图像与在Swing UI中显示的不一样,色差很大,原因在于ARGB类型与JPG格式不是很兼容,选择ARGB时最好保存为PNG格式,而RGB格式保存为JPG格式。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站