お遊び記事です。
bmpをテキストエディタで表示してみよう!
という内容です。
別にこれを知っているからと言って何の役にも立ちません。
- コンピューターが好きで、なおかつ無駄なモノが好きって人
◆解決できるかも知れないお悩み
- ごめんなさい、何も無いです!
- bmpファイルならテキストエディタでも見られるの、ヘー、ソーヨカッタネー(ハナホジホジホジー)って感じになります
普通、この手の記事だとbmpのファイル構造とか説明するんですけど、この記事ではそんな難しいこと書きません
僕もよく知らないしwwww
bmpファイルの構造なんて知らなくてもいいじゃん!
bmpという画像ファイルなのに、それがテキストエディタで見られるだけ面白くないっすか!?
ですので、bmpのファイル構造を勉強しようと思っている方はここで離脱されることをオススメします!
基本的にはMacでbmpファイルを開くことができません
しかし、この記事ではbmpファイルをダブルクリックで開くようなことはしていません
この記事ではbmpファイルのバイナリを見ているだけですので、bmpファイルさえあればMacでも同じように見ることができるはずです
bmpってテキストエディタで見られるんだよ!
この記事の後半で少~~~~~~~~~~しだけ解説しますけど、小難しいことは置いて、まずは見てください
先に言っておきますが、bmpのファイル構造に興味のない人は全く面白くないと思います
まぁ、お遊びレベルなので、お気楽にどうぞ!
このようなbmpファイルを準備しました
サイズは 50 x 50 ピクセルです。
拡大しているので荒いです
一応ダウンロードできるように↓ココに置いておきますが、ご自分で作ったbmpファイルを使って、この記事で書いてる手順を進めるとより楽しいと思いますよ
ダウンロードはコチラをクリック >> sample_bmp
このbmpファイルをバイナリエディタで見てみましょう
バイナリエディタって何? とおっしゃる方は↓コチラの記事を参照してください
バイナリエディタで開くとこんな感じです
これをテキストエディタにコピろうと思います
最初に現れるFF
のところで改行
※最初に現れるFF
は背景色が白色なのでFF
なのです
ちなみに、最初の
FF
が現れるまでのこの部分は意味がありますほんの少しだけ解説しますが、興味ない方、混乱しそうな方は読み飛ばしてください
—————————
42 4D E6 1D 00 00 00 00 00 00 36 00 00 00 28 00
00 00 32 00 00 00 32 00 00 00 01 00 18 00 00 00
00 00 B0 1D 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
—————————
ファイルヘッダ (Bitmap File Header)
byte数 | 内容 | データ内容 |
---|---|---|
2byte | ファイルタイプ | 42 4D |
4byte | ファイルサイズ | E6 1D 00 00 |
2byte | 予備領域1 | 00 00 |
2byte | 予備領域2 | 00 00 |
4byte | 画像データのサイズ | 36 00 00 00 |
情報ヘッダ (Bitmap Information Header)
byte数 | 内容 | データ内容 |
---|---|---|
4byte | ヘッダサイズ | 28 00 00 00 |
4byte | 幅サイズ | 32 00 00 00 ※16進数の知識があれば、これで50ピクセルと読み取れます |
4byte | 高さサイズ | 32 00 00 00 ※16進数の知識があれば、これで50ピクセルと読み取れます |
2byte | プレーン数 | 01 00 |
2byte | 色のビット数 | 18 00 ※16進数の知識があれば、これで24ビットと読み取れます |
4byte | 圧縮形式 | 00 00 00 00 |
4byte | 画像データサイズ | B0 1D 00 00 |
4byte | 水平解像度 | 00 00 00 00 |
4byte | 垂直解像度 | 00 00 00 00 |
4byte | 使用色数 | 00 00 00 00 |
4byte | 重要色数 | 00 00 00 00 |
さぁ、やってみよう!
♪分っかるかな?♪
♪はてはてふむーはてふむー♪
♪分っかーーるっーかーなぁーーー♪
♪分かるかな?♪
bmpというのは色の三原色が使われています
色の三原色とは赤緑青です
コンピューターの世界では、RGBと言われることが多いです
僕が色の三原色を知ったのは、コブラという漫画です
なんか刺青が三原色で書かれていたというような内容でした
読んだ当時は小学生だったはずですが、未だに覚えています
1つのピクセルに対して赤緑青の情報が必要なわけです
- 赤で
FF
(←みたいな感じで2文字で表す) - 緑で
FF
(←みたいな感じで2文字で表す) - 青で
FF
(←みたいな感じで2文字で表す)
つまり、bmpをバイナリエディタで見た場合、1ピクセルをFF FF FF
という感じで6文字で表します(空白は無視してください)
ってことは・・・
今回使用するbmpは幅50ピクセルですので、、、、
※実際には00
00
が行終端に入っているので、300+4文字での改行となります
テキストエディタのズームを小さくする
※よくあるのは、Ctrlキー押しながら+マウスホイール回転
どうでしょうか?
遠目で見たら、bmpと同じ形に見えますよ?
(上下反対になっているのは気にしないでね)
テキストでbmpが見えるからってどうなの?
まぁ、ぶっちゃけて言うと・・・、いや、ぶっちゃけなくても・・・
画像データ部分のみとりだした所でメリットはないです(笑)
bmpファイルの中身はこうなってんのねーーーふーんヨカッタネ、って感じですかね
bmpの上の方はただのヘッダ情報です。
画像データの中身だけあれば、ヘッダ情報さえあれば本来は画像ソフトで開けるはずです
というよう豆知識になります!
でも、こんなしょーもない知識でも、僕は仕事でこの知識が役立ったことありますよ~
ヘッダが付与されてないbmpファイルがあって、それを見るのにこんな感じで見ましたよ~
この豆知識が役に立つか立たないかは、あなた次第です!
さいごに、
bmpファイルがテキストエディタで見ようと思えば見られるってのが面白いと僕は思っています
是非お手持ちのbmpファイルで確認してみてください
- bmpファイル以外のバイナリファイルの中身について書いています
- と言っても、難しいことは本当に全く何も書いていません(て言うか解説してませんしwww)
- 眺めてもらうことを目的に書いていますので、是非ご覧ください
プログラミング のレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!