アプリ版:「スタンプのみでお礼する」機能のリリースについて

jpgファイルをpgmファイルにしてpgmファイルで処理を行うプログラムを作ろうとしています。

jpgファイルからpgmファイルへの変換は手動で行い処理を行ったところ、
何故かpgmファイルを正確に読み取ることができませんでした。
pgmファイルの輝度データの最初の一部は正確に読み取ることができたのですが、
それ以降のデータが全て255になってしまうという状態になってしまい困っています。
ちなみに最初からpgmファイルであるものを読み取った場合だと正確に読み取ることができ、
jpgファイルから変換したpgmファイルを読み取るときだけ正確に読み取れない状態です。

もしかしたらプログラムの問題ではないかもしれないのですが、
考えられる原因を思いつく方がいらっしゃったら教えてください。

A 回答 (2件)

>すいませんがpgmリーダーとは、自分のプログラムのpgmファイルの読み込み部のことでしょうか?



そうです。

>読み込みは元からpgmのものを使用したときはきちんと読み込んでくれるので、間違えは無いと思うのですが・・・

間違いとは言っていません。想定していなかった入力に対して不具合が発生しているのであれば、それを修正するという事です。
間違っていないと主張されるのであれば、それはそれでいいのですが、であるならばスレ違いでしょう。

デバッガの使い方がわからないという事ですが、比較的小さいjpgファイルを作成して(例えば5×5ピクセルとか)、それをpgmに変換します。
pgmがバイナリであればバイナリエディタで確認して、自分が予想しているものと全く同じかどうか検証してみてださい。

あとWindows系であれば、fopen でファイルを開いている場合、バイナリモード "rb" で開かないとうまくいかない事があります。
    • good
    • 0
この回答へのお礼

すばやい返信ありがとうございます。

>あとWindows系であれば、fopen でファイルを開いている場合、バイナリモード "rb" で開かないとうまくいかない事があります。

これでした^^;
元からpgmファイルの場合は動いたので見逃してました。
本当にいろいろアドバイスありがとうございます。

お礼日時:2004/09/19 01:34

jpg→pgmの手動変換が間違っているか、pgmの読み込みが不完全かのどちらかしかないでしょう。



どちらにしても、pgmリーダーをデバッガでトレースしていけば原因究明できると思うのですが・・・。

この回答への補足

回答ありがとうございます。

えっとですね、今回はjpg→pgmの変換は既存のソフト(ペイントショップなど)を用いて変換しているので、
変換に間違いは無いと思います。

読み込みは元からpgmのものを使用したときはきちんと読み込んでくれるので、
間違えは無いと思うのですが・・・

デバッガは・・・以前見てよく分からなかった;;
すいませんがpgmリーダーとは、
自分のプログラムのpgmファイルの読み込み部のことでしょうか?

補足日時:2004/09/19 00:34
    • good
    • 0

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