「java读取图片像素」Java读取图片像素和大小

博主:adminadmin 2022-11-28 15:29:09 54

今天给各位分享java读取图片像素的知识,其中也会对Java读取图片像素和大小进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 如何获取图片的像素值

try{

File _file = new File("C:/Documents and Settings/mayuanfei/My Documents/女友照片.jpg"); //读入文件

Image src = javax.imageio.ImageIO.read(_file); //构造Image对象

int wideth=src.getWidth(null); //得到源图宽

int height=src.getHeight(null); //得到源图长

System.out.println(wideth+","+height);

}catch(Exception e){

e.printStackTrace();

}

给定一幅图像,用java读取每个像素的RGB三个颜色值

int rgbR;

int rgbG;

int rgbB;

int minx = 0;

int miny = 0;

try {

File file = new File("E:\\dd.png");

BufferedImage image = ImageIO.read(file);

int width = image.getWidth();//图片宽度

int height = image.getHeight();//图片高度

for (int i = minx; i width; i++) {

for (int j = miny; j height; j++) {

int pixel = image.getRGB(i, j); // 下面三行代码将一个数字转换为RGB数字

rgbR = (pixel 0xff0000) 16;

rgbG = (pixel 0xff00) 8;

rgbB = (pixel 0xff);

System.out.println("i=" + i + ",j=" + j + ":(" + rgbR + "," + rgbG + "," + rgbB + ")");

}

}

System.out.println("图片宽度为:"+width+",高度为:"+height);

} catch (IOException e) {

System.out.println("读取文件出错");

e.printStackTrace();

}

java 怎么提取Image对象的像素数据

这个是一段透明化处理的代码,里面有获取像素的代码存在!希望对你有所帮助!

pixels将是像素,int pixels[] = (int[]) pgr.getPixels();这里将写入到数组中了!

/**

* 使图片中的某一种颜色透明

*

* @param image

* Image

* @param RGB16

* String 十六进制的六位颜色值字符串

* @param isFiltrate

* boolean

* @return Image

*/

public static Image setTranImage(Image image, String RGB16,

boolean isFiltrate)

{

int width = image.getWidth(null);

int height = image.getHeight(null);

Image abufferedimage = new BufferedImage(width, height, 2);

Graphics g = abufferedimage.getGraphics();

g.drawImage(image, 0, 0, width, height, 0, 0, width, height, null);

g.dispose();

// 透明化处理

PixelGrabber pgr = new PixelGrabber(abufferedimage, 0, 0, -1, -1, true);

try

{

pgr.grabPixels();

}

catch (InterruptedException ex)

{

ex.getStackTrace();

}

int pixels[] = (int[]) pgr.getPixels();

if (isFiltrate RGB16.length() == 6)

{

// 循环像素

for (int i = 0; i pixels.length; i++)

{

// 去色

if (((pixels[i] 0x00ff0000) 16 == Integer.parseInt(

RGB16.substring(0, 2), 16)

(pixels[i] 0x0000ff00) 8 == Integer.parseInt(

RGB16.substring(2, 4), 16) (pixels[i] 0x000000ff) == Integer

.parseInt(RGB16.substring(4, 6), 16)))

{

// 透明化

pixels[i] = 0;

}

}

}

ImageProducer ip = new MemoryImageSource(pgr.getWidth(),

pgr.getHeight(), pixels, 0, pgr.getWidth());

return toolkit.createImage(ip);

}

java 中如何获得灰度图像的像素值,getRGB和getRaster有什么区别?

关于图像像素值,我想要先讲一下Java中如何组织一个图像对象BufferedImage的,

一个BufferedImage的像素数据储存在Raster中,ColorModel里面储存颜色空间,类型等

信息,当前Java只支持一下三种图像格式- JPG,PNG,GIF,如何向让Java支持其它格式,首

先要 完成Java中的图像读写接口,然后打成jar,加上启动参数- Xbootclasspath/p

newimageformatIO.jar即可。

取得BufferedImage的代码如下:

File file = new File("D:\\test\\blue_flower.jpg");

BufferedImage image = ImageIO.read(file);

取得像素使用getRGB,代码如下:

int type= image.getType();

if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )

return (int [])image.getRaster().getDataElements(x, y, width, height, pixels );

else

return image.getRGB( x, y, width, height, pixels, 0, width );

写入像素,才可能用到getRaster,在type为ARGB 或RGB时,必须使用getRaster().setDataElements方式设置,其他格式直接setRGB,代码如下:

int type= image.getType();

if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )

image.getRaster().setDataElements(x, y, width, height, pixels );

else

image.setRGB(x, y, width, height, pixels, 0, width );

java中如何读取图片的像素

BufferedImage img = ImageIO.read(new File(filename));

Raster ra = img.getData();

Rectangle rect = ra.getBounds();

// int nWidth = ra.getMinX();

int nImageDate[] = new int[rect.height*rect.width];

int nTemp[] = new int[400*400];

nImageDate = ra.getPixels(0,0,rect.width, rect.height,nTemp);

java获取图片分辨率

用apache的开源类 上网下载个sanselan-0.97-incubator.jar架包导入项目中

这个架包所提供的类中可以读取图片的dpi

java读取图片像素的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java读取图片像素和大小、java读取图片像素的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。