質問

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の場合)に色空間変換を誤って実行するものがあるため、お勧めしません。

例: ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top