1

ファイルから取得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;}

そのショー:ここに画像の説明を入力


そして、私は2倍(幅と高さ)を大きくしたいと思います、私は試しました:

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 の正方形の画像を保持する方法がわかりません


編集 :

例はここにあります: Working example、ディスプレイが必要なため Ideone で実行することはできませんが、動作します

4

1 に答える 1