0

pngファイルがJavaのメモリ上でどのように表現されるかを低レベルで掘り下げて、ピクセルを反復処理したり、ピクセルを変更したり、既存のピクセルを使用して変更されたpngファイルを作成したりしたいと思います。

どこから始めればいいですか?

4

2 に答える 2

4

BufferedImageあなたはそれをで読むことから始めることができますImageIO.read(file)
これらのgetRGB(...)メソッドは、個々のピクセルに関する情報を取得するのに役立ち、対応するsetRGB(...)メソッドは、それらを変更するのに役立ちます。

于 2012-09-11T11:53:57.777 に答える
2

Javaでのメモリ内の画像の表現は、ファイルの形式とは本質的に無関係です。PNG、JPEG、GIFなど、画像を(言語に依存しない)バイトストリームとしてエンコードするための標準です。しかし、メモリ内の画像のピクセルを操作しているときは、すでにそれをデコードしているので、どの形式(PNG、JPEG ...)からのものであるかを「忘れて」しまいます。

Javaで画像を操作する最も一般的な方法は 、 java.awt.imageに含まれているBufferedImageクラスを使用することです。* パッケージ。しかし、それは必須ではありません。たとえば、私はBufferedImageを使用せず、代わりに各画像行を配列として提供する低レベルのPNGコーダー/エンコーダー( PNGJ )に取り組んできました。int[]

于 2012-09-11T12:39:12.233 に答える