我byte[]
从一个文件中得到了一个信息,我想显示相关的图像,我发现:
// p.data is a byte[]
int[] pixels = new int[p.width * p.height];
for (int i = 0; i < pixels.length; i++) {
pixels[i] = 0xFF000000 + intValue(p.data[i]) * 0x010101;
}
MemoryImageSource source = new MemoryImageSource(p.width, p.height, pixels, 0, p.width );
Image img = Toolkit.getDefaultToolkit().createImage(source);
//intValue is just : intValue(byte b) { return b < 0 ? b + 256 : b;}
我想有两倍大(宽度和高度),我试过:
int[] pixels = new int[p.width * p.height *4];
for (int i = 0; i < pixels.length; i++) {
pixels[i] = 0xFF000000 + BytePixmap.intValue(p.data[i/4]) * 0x010101;
}
MemoryImageSource source = new MemoryImageSource(p.width*2,p.height*2, pixels, 0, p.width);
我得到了: 如果 我更改p.width
为p.width*2
(最后一个参数)
我不知道如何保留一张 8*8 的正方形图片
编辑 :
可以在这里找到一个示例:工作示例,它不能在 Ideone 上运行,因为它需要显示,但它可以工作