メモ帳だけを使って PNG 画像を作成する方法

メモ帳だけを使って PNG 画像を作成する方法

ご存知のとおり、すべてのファイルは単なるデータのコンテナです。PNGファイルもこのルールの例外ではありません。

PNG ファイルは基本的に、色付きピクセルの長方形グリッドを参照するだけなので、それほど複雑ではありません。ビデオや GIF ほど複雑ではありません。

私の質問は、メモ帳だけを使用して、何もないところから PNG を作成するにはどうすればよいかということです。このファイルは、画像として認識されるブラウザ (Chrome など) で開くことができます。

4 つの色付きピクセルの小さな正方形が、良い例になるでしょう。

ペイントを使用して何が起こっているか確認してみると、興味深い結果が得られます。

ペイントを使用して、次のような PNG ファイルを作成すると、(2 x 2 ピクセルと非常に小さいため、拡大する必要があるかもしれません)

ここに画像の説明を入力してください

結果のテキスト ファイルは次のようになります。

IHDR ýÔšs sRGB ®Îé gAMA ±üa pHYs à ÃÇo¨d IDATWcè`ýÿ‰Ai£½Ç !ß=î_— IEND®B`‚

しかし、舞台裏では何が起こっているのでしょうか?

明確に言えば、質問は PNG ファイルを作成する方法ではなく、テキストを使用して、たとえば虹の 7 色の線など、特定の基準に一致する PNG ファイルを作成する方法です。

答え1

メモ帳だけを使用して、何もないところから PNG を作成するにはどうすればよいでしょうか?

非常に困難です。16 進エディタを使用すると簡単になります (ただし、それでも困難です)。

基本的には、PNG仕様

ファイルのヘッダーは、次の 10 進数値で構成される PNG 署名で始まる必要があります。

137 80 78 71 13 10 26 10

10 進数の 10 (改行) は、メモ帳を使用して入力することはできません (そのため、16 進エディターを使用することをお勧めします)。

また、CRC 値を計算し、多くの複雑なチャンク順序付けルールに従うことも必要です。

上記のリンク先の仕様を読めば、PNG を手作業で作成するのがいかに複雑であるかがわかります。

PNG をサポートするグラフィック エディターを使用する方がはるかに簡単になります。

答え2

シンプルなPNG画像の「テキスト」は次のようになります

ここに画像の説明を入力してください

このデータは、以下の簡単な図から得られたものです。

ここに画像の説明を入力してください

そのため、使用しているテキスト エディターが特殊文字を処理でき、メタデータを破壊しない (notepad++ など) 場合を除き、ドキュメントに「テキスト」を入力するだけでは PNG 画像ファイルを作成することはできません。PNG ファイルの「コード」は、その「構文」がどんなキーボードでも複雑すぎるため、実際に入力することもできません。

試してみると、次のようになります。 ここに画像の説明を入力してください

答え3

ただ開いてペイントWindowsのフラグキーを押すここに画像の説明を入力してください一度クリックして入力を開始するとPaint、メニューからポップアップ表示されるので、それをクリックしてアプリを起動します。

ここに画像の説明を入力してください

空白のペイント画面が開いたら、必要に応じて色を塗った四角形などを作成し、PNGファイル として保存する準備ができたら、File | Save As | PNG Picture保存した場所からアプリを開いて画像を確認します。


4つの異なる1ピクセル色の正方形で4x4ピクセルの正方形を作成します。

ペイント開かれ、空白の画像から始まります。

  1. タブからオプションHomeを押しますResize
  2. の中にResize and Skewウィンドウを調整するHorizontal and VerticalによるPixes ここに画像の説明を入力してください
  3. とともにPencil ここに画像の説明を入力してくださいツールを使用すると、色を希望の色に変更し、4x4 ピクセルの正方形を 4 つの異なる色の 1 ピクセルの正方形で塗りつぶすことができます。 ここに画像の説明を入力してください
  4. 今すぐFile | Save As | PNG Picture保存した場所からアプリを開いて画像を確認します。

答え4

実際、ファイルは単なるデータのコンテナではありません。バイナリ データのストリームです。バイナリ ストリームのどの部分がどのデータであるかは、ファイルの種類ごとにレイアウトが異なります。

メモ帳で画像を開くと、バイナリ ストリームが人間の言語の文字として解釈されます。ただし、特定の言語の文字として定義したものに対応するバイナリを使用してファイルを作成することはありません。したがって、メモ帳では、バイナリ ストリームを効果的に解釈して、PNG インタープリターが認識できるデータを追加および削除できる場合とできない場合があります。

PNG ファイルをゼロから作成する方法を本当に知りたい場合は、ディスクからバイナリ ストリームを読み取り、それを 16 進数で表示する 16 進エディター プログラムを使用して、数値 (最も推奨されるのは 2 進数または 16 進数) を使用して作成する必要があります。

参照してくださいDavidPostillの回答

関連情報