入門講座 【第5回 メソッドとプロパティ】の質問

タグの編集
投稿者 bonyanyan  (社会人) 投稿日時 2009/1/8 01:51:29
いつもお世話になっております。
素人の私にも大変分かりやすく、大助かりです。

入門講座を第一回から順に読み進めているのですが、【第5回 メソッドとプロパティ】の5.応用のところでエラーがでて悩んでおります。

<エラー箇所>
保存ボタンクリック時のイベント。
実行ボタンを押下すると下記部分が黄色でハイライトされます。

  PictureBox1.Image.Save(txtSaveFileName.Text, Imaging.ImageFormat.Jpeg)

<エラー内容>
オブジェクト参照がオブジェクト インスタンスに設定されていません。

コードの入力ミスかと思い、そのままコピーしてもエラーがでてしまいました。
Visual studio 2005を使用しているからでしょうか?
解決方のご教授のほど、よろしくお願いいたします。

bonyanyan

投稿者 るしぇ  (社会人) 投稿日時 2009/1/8 02:46:31
btnOpen の処理を実行してない為、保存すべき Image が
作成されていないからです。
投稿者 bonyanyan  (社会人) 投稿日時 2009/1/8 18:40:52
>るしぇ様
ご解答ありがとうございます。
おっしゃる通りbtnOpen の処理を実行しておりませんでした。
お恥ずかしい限りです。

そこで、btnOpen の処理を実行して、確実にイメージがPictureBoxに表示されてた後にbtnSaveの処理を
行ったのですが今度は違うエラーが表示されました。

<エラー箇所>
保存ボタンクリック時のイベント。
実行ボタンを押下すると下記部分が黄色でハイライトされます。

  PictureBox1.Image.Save(txtSaveFileName.Text, Imaging.ImageFormat.Jpeg)

<エラー内容>
GDI+ で汎用エラーが発生しました。

調べたところ、GDI+はBMPのほかにGIFやJPEG、TIFF、Exif、PNGといった形式の画像ファイルなどが扱えるようになっているとあります。表示はできるのに保存ができない。GDI+の設定しょうか??
OSはMicrosoft Windows XP Professionalです。
保存するファイル名は「C:¥WINDOWS¥Dell.jpg」で間違いありませんよね?


再度解決方のご教授をいただけますでしょうか。
お手数おかけして申し訳ございません。
何卒よろしくお願いいたします。

bonyanyan




投稿者 るしぇ  (社会人) 投稿日時 2009/1/8 19:49:38
意味不明なエラーが出た場合、正確なエラーメッセージと
関連語句で WEB 検索すれば大抵分かります。

『GDI+ で汎用エラーが発生しました。 Image』で検索してみてください。
開いたファイルと同じファイルに上書きしようとしたためです。
投稿者 bonyanyan  (社会人) 投稿日時 2009/1/9 02:01:29
>るしぇ様

毎度ありがとうございます。大変参考になります。
ご指摘どおり検索したところ、たくさんのケースを参考することができました。
わたしが保存できなかった理由は私に保存する権限がなかったためでした。

次回からはご指摘の通り、このサイト以外での例も参考にさせていただきます。

大変お手数をおかけして申し訳ございません。
今後よろしくお願いいたします。

bonyanyan