Java程序读取图片像素的值类,

package work;import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;import javax.imageio.ImageIO;public class Image {/*** 读取一张图片的RGB值* * @throws Exception*/public void getImagePixel(String image) throws Exception {int[] rgb = new int[3];File file = new File(image);BufferedImage bi = null;try {bi = ImageIO.read(file);} catch (Exception e) {e.printStackTrace();}int width = bi.getWidth();int height = bi.getHeight();int minx = bi.getMinX();int miny = bi.getMinY();System.out.println("width=" + width + ",height=" + height + ".");System.out.println("minx=" + minx + ",miniy=" + miny + ".");for (int i = minx; i < width; i++) {for (int j = miny; j < height; j++) {int pixel = bi.getRGB(i, j); // 下面三行代码将一个数字转换为RGB数字rgb[0] = (pixel & 0xff0000) >> 16;rgb[1] = (pixel & 0xff00) >> 8;rgb[2] = (pixel & 0xff);System.out.println("i=" + i + ",j=" + j + ":(" + rgb[0] + ","+ rgb[1] + "," + rgb[2] + ")");bi.setRGB(123, 123, 123);}}}/*** 返回屏幕色彩值* * @param x* @param y* @return* @throws AWTException*/public int getScreenPixel(int x, int y) throws AWTException { // 函数返回值为颜色的RGB值。Robot rb = null; // java.awt.image包中的类,可以用来抓取屏幕,即截屏。rb = new Robot();Toolkit tk = Toolkit.getDefaultToolkit(); // 获取缺省工具包Dimension di = tk.getScreenSize(); // 屏幕尺寸规格System.out.println(di.width);System.out.println(di.height);Rectangle rec = new Rectangle(0, 0, di.width, di.height);BufferedImage bi = rb.createScreenCapture(rec);int pixelColor = bi.getRGB(x, y);return 16777216 + pixelColor; // pixelColor的值为负,经过实践得出:加上颜色最大值就是实际颜色值。}/*** @param args*/public static void main(String[] args) throws Exception {int x = 0;Image rc = new Image();x = rc.getScreenPixel(100, 345);System.out.println(x + " - ");rc.getImagePixel("D:\\xiao.jpg");}}

Java读取并修改像素的值。

package work;import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;public class Image1 {private void setAlpha(String os) {/*** 增加测试项* 读取图片,绘制成半透明,修改像素*/try {ImageIcon imageIcon = new ImageIcon(os);BufferedImage bufferedImage = new BufferedImage(imageIcon.getIconWidth(),imageIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR);Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();g2D.drawImage(imageIcon.getImage(), 0, 0,imageIcon.getImageObserver());//循环每一个像素点,改变像素点的Alpha值int alpha = 100;for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage.getWidth(); j2++) {int pixel = bufferedImage.getRGB(j2, j1);int[]   rgb = new int[3];rgb[0] = (pixel & 0xff0000) >> 16;rgb[1] = (pixel & 0xff00) >> 8;rgb[2] = (pixel & 0xff);System.out.println("i=" + j1 + ",j=" + j2 + ":(" + rgb[0] + ","+ rgb[1] + "," + rgb[2] + ")");pixel = ( (alpha + 1) << 24) | (pixel & 0x00ffffff);bufferedImage.setRGB(j2, j1, pixel);}}g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());//生成图片为PNGImageIO.write(bufferedImage, "jpg",  new File("D:\\xiao.jpg"));}catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws Exception {int x = 0;Image1 rc = new Image1();rc.setAlpha("D:\\xiao.jpg");rc.setAlpha("D:\\xiao.jpg");}}

Java读取并修改图片的像素值相关推荐

  1. java读取并修改xml文件

    java读取并修改xml文件 java如何读取xml并且修改xml文件呢?代码如下: //复制模板xnl File file = new File(xmlSavePath + "/mb.xm ...

  2. nodejs将图片的像素值提取出来将RGBA转换成16位彩色

    nodejs将图片的像素值提取出来将RGBA转换成16位彩色 RGBA转16位彩色的原理 RGBA由4*8bit组成(255, 255, 255,255),16位彩色为2*8bit组成.16位彩色需要 ...

  3. 在线压缩照片、修改图片尺寸像素、在线ps、免费在线做图实时协助

    在线压缩照片 修改图片尺寸像素 在线ps 免费在线做图实时协助

  4. 前端怎样让图片缩小像素值不失真_纹理优化:不仅仅是一张图片那么简单

    在上期<网格优化:溃堤之穴,一个也不能放过>中,我们对网格相关的优化知识点做了讲解.无论是大家在开发时的疏忽,还是对相关知识点的理解不足,这些问题的积累最终都会反映到项目的性能表现上.为此 ...

  5. java 读取项目内图片,java web项目中读取本地图片

    在项目中,因为业务需要,用户上传的图片存放在服务器的D盘中,为了读取并显示到页面上,尝试了两种方法: 一  通过流读取 java代码: @RequestMapping(value = "/s ...

  6. java读取excel某个单元格的值_java poi怎么获取excel单元格的内容

    展开全部 package edu.sjtu.erplab.poi; import java.io.InputStream&ch=ww.xqy.chain" target=" ...

  7. java读取1g超大图片_java读取大文件1G+ | 学步园

    正常读取大文件,可能会想到用缓存 如: package base; import java.io.BufferedInputStream; import java.io.BufferedReader; ...

  8. java读取mysql的图片_用JAVA写入和读取MYSQL的图片的实例

    主要的程序: package greeds.jdbc.sample; import greeds.jdbc.util.JDBCUtil; import java.io.*; import java.s ...

  9. java读取excel某个单元格的值_[转载]Java读取Excel中的单元格数据

    目前网上能找到的读取Excel表格中数据的两种比较好的方案:PageOffice好用开发效率高:POI免费.供大家参考,针对具体情况选择具体方案. 1. PageOffice读取excel impor ...

最新文章

  1. nginx反向代理原理讲解
  2. 第十五届全国大学生智能汽车竞赛华东区赛程
  3. python-用Map, Filter, Reduce代替For循环
  4. Log and display Log text type in Account Overview page
  5. 跟我一起学.NetCore之依赖注入作用域和对象释放
  6. python-22 eval json pickle shelve 之间差别
  7. gitee项目404问题_七款开源项目,让你数据库管理不再成为一个问题
  8. BugkuCTF-Crypto题easy_crypto
  9. 金三银四旗开得胜!javagui界面
  10. mysql 事务 不同库_MYSQL数据库重点:事务与锁机制
  11. prometheus 发送恢复 值_基于prometheus+grafana+alertmanager监控系统配置钉钉告警
  12. 软件测试技能大赛山东省,我院获2020年山东省职业院校技能大赛“软件测试”赛项二等奖...
  13. Apache 许可证2.0 版
  14. 狂神Vue笔记,后端必须了解的前端知识
  15. ffmpeg_Cropping video(剪裁视频)命令行
  16. Java代码转换成伪代码生成器_将一段java程序片段改成算法伪代码
  17. matlab在智能遥控的应用论文,(精品)基于MATLAB的智能控制系统的介绍与设计实例最新毕业论文...
  18. [业内传闻]今天,7月25日是全世界系统网络管理员的节日
  19. js计算多少天过生日
  20. 2021年预训练语言模型及微调的最新进展

热门文章

  1. Red Hat Enterprise Linux 各个版本以及发布日期
  2. 阿里巴巴开源技术汇总:115个软件(六)
  3. 网页一键分享到QQ空间、QQ好友、新浪微博、微信代码
  4. 基于RBF和小波变换的局域波法
  5. shell脚本切割字符串、分割字符串(split)
  6. 【转】Word样式库模板管理(从样式库中永久删除样式)
  7. Apache2.4常用配置
  8. java矩形派生正方形_src Step1: 为实验3中定义的矩形类派生一个子类:正方形类 - 下载 - 搜珍网...
  9. LT Technology Services公司入选空客“智慧天空合作伙伴计划”
  10. [linux]循序渐进学运维-基础命令篇-diff