■8775 / ) |
Re[3]: マウスイベントを利用したグラフィク表示について |
□投稿者/ 魔界の仮面弁士 (462回)-(2007/10/09(Tue) 23:03:58)
|
2007/10/09(Tue) 23:04:35 編集(投稿者)
■No8772 (tikara さん) に返信 > それでBItmapオブジェクトを作成してimageプロパティからgraphicオブジェクトを作成するようにしました。 それで良いと思いますよ。ただ、正しくは BItmap → Bitmap image → Image graphic → Graphics ですよね。(C# を使っているのですから、大文字/小文字の違いにも御注意を)
> 描画した画像をpictureBox1.image=null;のコードで記述したボタンを押すと、消去はできますが、 > 消した後に再度マウスでなぞるとエラーがでるようになってしまいました。 『エラー』というのは、ArgumentNullException 「値を Null にすることはできません。」というヤツですか? だとしたら、それは当然の結果です。
Graphics は「描画ツール(ペン/ブラシ/塗りつぶし色など)」を意味するクラスです。 Bitmap という「キャンバス/紙」に描画するならばともかく、 null すなわち「何もないところ」に描画させようというのは、無理がありますよね。
> これはC#の仕様なのでしょうか? Image に null を代入したのですから、その後の > Graphics g = Graphics.FromImage(pictureBox1.Image); の処理というのは、 Graphics g = Graphics.FromImage(null); の意味になりますよね。ここに null を指定すると「例外」が発生することは、ヘルプにも明記されています。 http://msdn2.microsoft.com/ja-jp/library/system.drawing.graphics.fromimage%28VS.80%29.aspx
> これでわかっていただけましたか?よろしくお願いいたします。 「null」を代入するのではなく、「何も描画していない Bitmap」を割り当ててみては如何でしょう。
|
|