[Image]使用 Java 2D 取得图像上指定位置像素的 rgb 颜色分量

[Image]使用 Java 2D 取得图像上指定位置像素的 rgb 颜色分量

     /** */ /**
     * 取得图像上指定位置像素的 rgb 颜色分量。
     * 
@param  image 源图像。
     * 
@param  x 图像上指定像素位置的 x 坐标。
     * 
@param  y 图像上指定像素位置的 y 坐标。
     * 
@return  返回包含 rgb 颜色分量值的数组。元素 index 由小到大分别对应 r,g,b。
     
*/

    
public   static   int [] getRGB(BufferedImage image, int  x, int  y) {
        
int [] rgb  =   null ;
        
        
if (image  !=   null   &&  x  <  image.getWidth()  &&  y  <  image.getHeight()) {
            rgb 
=   new   int [ 3 ];
            
int  pixel  =  image.getRGB(x,y);
            rgb[
0 =  (pixel  &   0xff0000 >>   16 ;
            rgb[
1 =  (pixel  &   0xff00 >>   8 ;
            rgb[
2 =  (pixel  &   0xff );
        }

        
        
return  rgb;
    }


使用这个方法前需要先将图像文件从磁盘上读到一个 java.awt.image.BufferedImage 对象中,我们可以用 J2SE 包含的 ImageIO 库。

try   {
    BufferedImage bi 
=  ImageIO.read( new  File( "  test.jpg  " ));
}
  catch  (IOException ex)  {
    ex.printStackTrace();
}

你可能感兴趣的:([Image]使用 Java 2D 取得图像上指定位置像素的 rgb 颜色分量)