ビットマップのヘッダー情報について
■ このスレッドは過去ログ倉庫に格納されています
0001ぷー
NGNGC言語でビットマップを配列に格納して
処理したいのですがヘッダーをどう扱っていいのか
困っています。ヘッダー分ずらして格納して
後から出力のときにまた足して出力すれば
いいと思うのですが、
いったいビットマップは何バイトヘッダーが
あるのでしょうか?
また一般的にどのように配列に入れたらいいのでしょうか?
よろしくお願いします。
0002名無しさん@お腹いっぱい。
NGNG0003名無しさん@お腹いっぱい。
NGNGウェブ上にいろいろ転がっていると思うから検索してみればーー
>>2
氏ね なんて可哀想だよ
誰もが一度はとーる道だからね
0004名無しさん@お腹いっぱい。
NGNGビットマップのフォーマットについてはちゃんと調べましたか?
0005ぷー
NGNGありがとう御座います。
ビットマップのフォーマットですが
調べたのですが
BITMAPFILEHEADER 14バイト
BITMAPINFOHEADER 40バイト
で固定
パレット 色数により異なる
となっています。
ということは54バイト+パレットの各々のヘッダー
を除けばいいのですか?
またビットマップのヘッダーはどのように見るのでしょうか?
0006>1
NGNG0007げろげ〜ろ
NGNG1のロード/セーブした画像は
鏡に映して見ないと正しく表示されないでしょう。
0008名無しさん@お腹いっぱい。
NGNG0009名無しさん@お腹いっぱい。
NGNGbz(バイナリエディタ)のstructure viewでも使えば。
0010バッカーです
NGNG作ってみようとか思わないわけ?
そっちの方が不思議だよ>1
0011名無しさん@お腹いっぱい。
NGNG0012名無しさん@お腹いっぱい。
NGNG自分でビットマップファイルを0から作って見ようって事になって
4の倍数じゃないサイズを作った時に変な絵になって悩むに
一票
0013名無しさん@お腹いっぱい。
NGNG結局Get/SetPixel()使って処理することになる、に1票。
0014名無しさん@お腹いっぱい。
NGNG0015名無しさん@お腹いっぱい。
NGNG0016名無しさん@お腹いっぱい。
NGNGの4種類だっけ?
パレットが有るのは16色と256色。
0017きのこベンダー
NGNGフルカラーもパレットあるよ!
001816
NGNGフルカラーでパレットが必要なのってどんな場合?
パレット作らなくても表示出来たよん。
0020名無しさん@お腹いっぱい。
NGNGパレットサイズだけで最大2^16*6バイトも取られるのはイヤだ
ところで何きのこなの?ぶなしめじ?
0021名無しさん@お腹いっぱい。
NGNG.bmpで16bitか?
0022>5
NGNG>またビットマップのヘッダーはどのように見るのでしょうか?
「見る」とはどういう意味なのでしょうか?
存在するビットマップのヘッダ部分なら、バイナリエディターな
どを利用する事で「見る」ことができます。
ビットマップのフォーマットの資料と見比べて数値の意味を確認
してください。
>ということは54バイト+パレットの各々のヘッダー
>を除けばいいのですか?
プログラムを作ってみて、自分の期待通りの結果が選られましたか?
まず、できる事をやってみた後に「〜という結果を期待して〜と
いう処理をやったが、結果は〜という風になった。どこがおかし
いのか教えてほしい」といった質問を書いた方が、適切なアドバ
イスが得られると思います。
0023名無しさん@お腹いっぱい。
NGNGちなみにパレットを持つフルカラーBMPは(一応)作成可能ですが、
一般的には存在しません。
BMPファイルのフォーマットに関しては、ベクターに詳しい資料が
落ちているのでそちらを参照しては。
(内容が古いので、メンバの型等の仕様が今と異ってますが。)
0025名無しさん@お腹いっぱい。
NGNG1@`4@`8ビットカラーではパレットが必須。
16@`24@`32ビットカラー時は減色などのためにオプションですな。
0026( ´∀`)さん
NGNG...あぁ、0ビットBMP...
最初見た時はあせったぞ。
0027名無しさん@お腹いっぱい。
NGNG〜以降 BITMAPINFOHEADER.biSizeImage 分のDATA〜
RGBQUADの部分は8bit以下ならパレット情報。(xはパレット数だけ存在)
16bit以上のBMPの場合、
BITMAPINFOHEADER.biCompression=BI_RGB(0)
の時は、RGBQUAD は無視して構わない。ただし、データ自体は
含むことが一応可能なので、BITMAPFILEHEADER.bfOffBits の値を見て
データ開始位置を出すようにしておく。16bit時のRGBフォーマットは 5:5:5。
BITMAPINFOHEADER.biCompression=BI_BITFIELDS(3)
の時はRGBQUADにRGBフォーマット情報を含む。(x=3)
一般にファイルから API 一発で読めるのを
期待出来るのは BI_RGB(0) の時だけ。
0028momus
NGNGこんなフォーマットでも進化してるのか。。
■ このスレッドは過去ログ倉庫に格納されています