3
private static byte[] get_byte_data(BufferedImage image)
{
    //WritableRaster raster   = image.getRaster();
    DataBufferByte buffer = (DataBufferByte)image.getRaster().getDataBuffer();
    return buffer.getData();
}

上記のコードを実行しているときに、指定されたクラスキャスト例外が発生します。byte[]配列を返す必要があります。つまり、バッファリングされたイメージのバイト。

4

1 に答える 1

2

ラスターデータは必ずしもバイトではありません。

if (image.getRaster().getDataTypeSize() == 1)、次にgetElem(int bank, int i)、すべてのバンクとすべての要素に使用して、結果を目的の配列に格納できます。これ以上直接的なものは見当たりません。

于 2012-09-30T15:39:12.283 に答える