0

png を表示する方法 (通常は .bmp の横にある画像) の深さ、特定のピクセル (x、y) の色 (r、g、b) を取得し、正確に 1 つのピクセルを変更して画像を保存する方法。その簡単な例は見つかりませんでした。サンプルがあれば見せてください

サードパーティのライブラリはありません。

4

2 に答える 2

2

PNG 形式は比較的単純ですが、BMP ほど単純ではありません。1 つには、ZLIB 圧縮が含まれています。エンコード/デコードするには、 libpngのような PNG ライブラリとzlibライブラリを使用する必要があります。「サード パーティ」のライブラリを使用したくない (標準ライブラリのみを使用する) 場合は、かなり多くのコードを記述する必要があります。ほとんど libpng/zlib ライブラリの書き換えを終了します。私はあなたが本当にそれをしたいとは思わない。

私自身、Java/C# ( PNGJ ) で PNG コーダー/デコーダーを作成しましたが、外部の ZLIB ライブラリに依存していました (標準の Java JRE に含まれています)。

于 2012-11-19T14:52:05.737 に答える
2

C++ は Java や Python などではないことに注意してください。C++ 内部ライブラリは主に生データの処理に関係しており、より具体的な機能をサード パーティに任せています。それがまさにC++ (および C も) の概念です。

したがって、PNG の「純粋な内部」実装 (または「通常は .bmp の横にある画像」) を要求することは、実にばかげています。通常は解凍を含む、特定の画像形式ごとに異なる関数が必要になります。その特定の目的のためのサードパーティのライブラリはすぐに利用できるため、それらを再実装するように人々に依頼するのは少し...奇妙です。

于 2012-11-19T14:58:40.623 に答える