1

Javaでの画像クラスの操作に問題がありました。

DataBuffer.TYPE_DOUBLEを使用してバッファリングされた画像を作成しています。これはすべてメモリ内で正常に機能します(私は思います)。しかし、ImageIO.writeを使用して書き込もうとすると、問題が発生します。

最初はまったく例外がなく、代わりに問題のために空の出力ファイルを取得するだけでした。

コードを少し調べてみると、bmpライターがtype_doubleタイプのファイルの書き込みをサポートしていないことがわかりました。

From: BMPImageWriterSpi.canEncodeImage:
        if (dataType < DataBuffer.TYPE_BYTE || dataType > DataBuffer.TYPE_INT)
        return false;

だから私の質問は、誰かがそのような種類の画像をディスクに書き出す方法を持っているかということです。ドキュメントやチュートリアル、またはリンクが役立ちます。

ありがとう、バジルDsouza

4

1 に答える 1

2

BMP形式は浮動小数点表現を使用しないため、高レベルでは、BMPとして書き込む画像を表現するために浮動小数点データを使用することはまったく意味がありません。あなたは本当にそれをする必要がありますか?なぜintではないのですか?

javadocは、DataBuffer.TYPE_DOUBLE現在の使用を目的としていないことを示しています。

于 2010-03-27T20:47:07.383 に答える