ピクセルRGB値0から1を使用してJavaでPNGファイルを書き込む方法は?
-
27-10-2019 - |
質問
Javaでレイトレーサーを作成していて、生成された画像をPNGファイルに書き込む方法を理解しようとしています。これまでのところ、私が見つけたすべての例は、BufferedImageを使用してPNGを作成する方法を示していますが、すべてRGB値0〜255を使用しています。私のコードでは、0〜1の各ピクセルカラー値を表しているため、たとえばマゼンタは(1、0、1)。このような値でPNGを作成するにはどうすればよいですか?
ありがとう
解決
0から1までの値に255を掛けると、0から255までの数値が得られます。
注:BufferedImage
をPNGファイルに書き込むのは、ImageIOAPIを使用すると非常に簡単です。コードは1行だけです。
ジェネラコディセタグプレ
他のヒント
ピクセルデータをBufferedImage
に保存するカスタムfloat[]
を作成できます。
ただし、プラットフォームAPI関数の中には、必要のない場合(たとえば、ソースと宛先の両方がsRGBの場合)に色空間変換を誤って実行するものがあるため、お勧めしません。
例: ジェネラコディセタグプレ
所属していません StackOverflow