【3月6日実施】システムメンテナンス実施のお知らせ

C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、三つの色成分(Blue,Green,Red)に分離し、それぞれ異なるファイルに保存するプログラムを教えていただきたいです。

A 回答 (3件)

ファイルフォーマットを理解できれば、「~分離し」までは書けたも同然ですね。

「それぞれ異なるファイルに保存する」ところは、各要素ファイルに対して、たとえばR成分ファイルであればGB成分を0にして保存する(つまりBMPファイルの体裁にして保存する)ようにすればいいでしょう。そうすれば、出来上がったBMPファイルをダブルクリックすれば普通に画像として表示できるはずです。
    • good
    • 0

C言語でファイルの読み書きくらいはできるんですよね?



下記URLにビットマップのファイル構造が記載されています。
https://qiita.com/spc_ehara/items/03d179f4901fae …

ファイル構造が分かれば、読み込んだデータの意味もわかりますし、出力しなければならないファイルもどの様に作れば良いのかわかりますよね。
    • good
    • 1

ご質問に書かれた課題の内容からしますと質問者様はC言語自体は銃ビュン学ばれているのでしょう。


その場合、質問者様がわからないのは課題のどの部分でしょうか?
まずはそこを具体化することです。

ちなみにビットマップ形式(BMP形式)のデータとは具体的にどういう形式のものか、その規格を理解されていますか?
それが出来ているならファイルを読み込んだ際のデータ構造がわかっているわけですから、「これが青のデータ」、「これが赤のデータ」・・・と先頭から最後まで順に判別して行けるかと思います。
その手順を日本語やチャート図で示すことが出来れば、その内容をC言語に翻訳するだけのことです。

ということで何がわかっていないので身動き出来ない状態なのか・・・ですね。その本当のところがわかりませんとコードを全部教えてもっらってもその意味すらわからないでしょう。

参考まで。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A