画像ライブラリの作成の勉強でPNM形式が一番簡単だという事で調べて見たんですが、データ形式は6種類あって、P1P3はASCIIコードP4P6はバイナリという事が分かりました。
文字のJ
を表す場合
P1 # This is an example bitmap of the letter "J" 6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
最初のP1
がデータの種類
#
の付いている行がコメント
その次の6 10
は画像の横、縦のサイズ
0と1で0が白、1が黒
という事が分かりました。
また、自分で実際画像を変換(フォトショップで)してみました。
変換済みファイル
これをバイナリエディタで見てみました。
どうやら、このファイルはP4
のデータのようです。
このファイルをP1
に変換する方法はないですか?
###追記
cpp
1ifstream fin{ fpath, ios::binary }; 2 3int ch; 4while ((ch = fin.get()) != -1) 5{ 6 if (ch < 10) { 7 cout << hex << uppercase << "0" << ch << ' '; 8 } 9 else { 10 cout << hex << uppercase << ch << ' '; 11 } 12} 13
バイナリモードで開いて、それを16進数で表示しているんですが、この方法だと、Pnが解析できないですよね?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/03 08:03
2017/07/03 09:36 編集
2017/07/03 11:52