一张图片,怎么把它表示图像的像素数组输出啊?
望提供代码示例。
望提供代码示例。
解决方案 »
- 现在行业里面桌面应用程序(CS)用什么语言开发比较多?
- XML 问题
- 链接数据库时自己建的表读不出来??谢谢!
- 新手求助
- 逻辑思维题(二)
- 为什么非要使用接口呢 ( 以 Bruce Eckel 著的 Think in Java II 的一个例子探讨一下 )
- <thinking in java>那里有??
- 用jubilder 编写的.java和.class,好像不能直接用java.exe 运行
- 如何写一个程序求出质数?(除1和本身外不能被其他数整除)
- 我的IE运行不了applet,怎么回事啊?(W2K,IE 6.0)
- 配置文件问题
- jsp 中application和out对象的方法在哪边可以查得到啊?
BufferedImage imd=ImageIO.read(new File(file));
public int[] getRGB(int startX,
int startY,
int w,
int h,
int[] rgbArray,
int offset,
int scansize)从图像数据的某一部分返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中整数像素数组。如果该默认模型与该图像的 ColorModel 不匹配,则发生颜色转换。在使用此方法所返回的数据中,每个颜色分量只有 8 位精度。通过图像中指定的坐标 (x, y),ARGB 像素可以按如下方式访问: pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)]; 如果该区域不在边界内部,则抛出 ArrayOutOfBoundsException。但是,不保证进行显式的边界检查。
参数:
startX - 起始 X 坐标
startY - 起始 Y 坐标
w - 区域的宽度
h - 区域的高度
rgbArray - 如果不为 null,则在此写入 rgb 像素
offset - rgbArray 中的偏移量
scansize - rgbArray 的扫描行间距
返回:
RGB 像素数组。
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;public class BufferedImageTest {
public static void main(String[] args) {
BufferedImage bi = null;
try {
bi = ImageIO.read(new File("src\\s.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} int[] imgRgb = bi.getRGB(0, 0, 10, 10, null, 0, 10);
System.out.println(imgRgb.length);
for (int i = 0; i < imgRgb.length; i++) {
if (i % 10 == 0) {
System.out.println();
}
System.out.print(imgRgb[i] + ", ");
}
}
}
是一张10 * 10 piex的图片。
key.png → s.png