计算图片基础三原色

来源:互联网 发布:大自然音效软件 编辑:程序博客网 时间:2024/05/17 03:50
public void getBaseColor(){//获取Image图像String fileName = "D:/LYM/temp/color.jpg";Image image = null;try {image = ImageIO.read(new FileInputStream(fileName));} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}if(image != null){int iw = image.getWidth(null);int ih = image.getHeight(null);int size = iw * ih;int[] pixels = new int[size];//创建一个 PixelGrabber 对象,以从指定图像将像素抓取到给定的数组pixels中PixelGrabber pg = new PixelGrabber(image.getSource(), 0, 0, iw, ih, pixels, 0, iw);try {pg.grabPixels();} catch (InterruptedException e) {e.printStackTrace();}//获取每一像素上的三原色叠加ColorModel cm = ColorModel.getRGBdefault();int red = 0, green = 0, blue = 0;for (int i = 0; i < size; i++) {red += cm.getRed(pixels[i]);green += cm.getGreen(pixels[i]);blue += cm.getBlue(pixels[i]);}//计算平均三原色red = red / size;green = green / size;blue = blue / size;System.out.println("rgb(" + red + "," + green + "," + blue + ")");}}

输出  rgb(68,73,78)

原创粉丝点击