转 java中获取图片的像素颜色
2012-09-21 19:10
363 查看
public int getPixel(int x,int y) throws AWTException{ //函数返回值为颜色的RGB值。
Robot rb = null; //java.awt.image包中的类,可以用来抓取屏幕,即截屏。
rb = new Robot();
Toolkit tk = Toolkit.getDefaultToolkit(); //获取缺省工具包
Dimension di = tk.getScreenSize(); //屏幕尺寸规格
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的值为负,经过实践得出:加上颜色最大值就是实际颜色值。
}
另一种
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];
File file = new File("a.bmp");
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++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
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]+")");
}
}
}
}
Robot rb = null; //java.awt.image包中的类,可以用来抓取屏幕,即截屏。
rb = new Robot();
Toolkit tk = Toolkit.getDefaultToolkit(); //获取缺省工具包
Dimension di = tk.getScreenSize(); //屏幕尺寸规格
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的值为负,经过实践得出:加上颜色最大值就是实际颜色值。
}
另一种
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
public class Test{
public static void main(String args[]) {
int[] rgb = new int[3];
File file = new File("a.bmp");
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++){
//System.out.print(bi.getRGB(jw, ih));
int pixel=bi.getRGB(i, j);
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]+")");
}
}
}
}
相关文章推荐
- java编程简单获取图片像素的方法
- 如何获取图片中第一个像素的颜色值?
- cocos2d-x 获取图片的某像素点的RGBA颜色
- java 获取图片信息(经纬度,像素等)
- 获取exr图片上像素点的颜色通道
- JavaScript获取图片像素颜色并转换为box-shadow显示
- JavaScript获取图片像素颜色并转换为box-shadow显示
- Cocos2dx图片像素颜色值获取,可用于判断是否是图片的透明区域
- cocos2d-x 获取图片的某像素点的RGBA颜色
- 用CImage在picture控件上显示外部图片,并获取各像素颜色数据
- cocos2d-x 获取图片的某像素点的RGBA颜色 -转
- Java代码获取图片格式及颜色模型
- 获取图片像素颜色,转换为CSS3 box-shadow显示
- 如何获取图片中第一个像素的颜色值? - 回复 "格兰特" 的问题
- 获取图片像素颜色,转换为CSS3 box-shadow显示
- ckTex获取png格式图片的像素颜色值
- Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image获取图像像素点image.getRGB(i, lineIndex); 图片剪辑/AtiPlatf_cms/src/com/attilax/img/imgx.javacutImage图片处理titit 判断判断一张图片是否包含另一张小图片 atitit 图片去噪算法的原理与
- java获取图片像素点的RGB值
- 获取图片像素点颜色值
- 如何获取图片中第一个像素的颜色值?