• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VisualBasic2008で、Graphicsについての質問です。)

VisualBasic2008のGraphicsでのエラー

このQ&Aのポイント
  • VisualBasic2008でGraphics描画を勉強中ですが、g.FillEllipse()の行でエラーが発生します。
  • エラーメッセージは『使用されたパラメータが有効ではありません。』です。
  • 修正箇所が分からず苦しんでいます。ご教示いただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

先ほどの回答に追記しておきます。 別にForm_Paintでなくともよいです。 要は「g」という定義が正しく定義されていればエラーもでないかと。 どこに描画するのか指定しなさいって事なんでしょうかね。 FormにButtonを1つ貼り付けました。 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim MyBrush As Brush = New Drawing2D.LinearGradientBrush(New Rectangle(5, 5, 120, 60), Color.Yellow, Color.Black, 40) Dim g As System.Drawing.Graphics = Me.CreateGraphics g.FillEllipse(MyBrush, New Rectangle(5, 5, 120, 60)) End Sub

hatopo7979
質問者

補足

>どこに描画するのか指定しなさいって事なんでしょうかね。 そういうエラーでしたか。 >「g.FillEllipse」の「g」はどっから持ってきました? すみません、さっきのコードとは別の場所にかいてあったので抜けてしまいました。 改めて全コードを書くとこうなります。 このコードだとなぜ上手くいかないのでしょうか? Dim g As Graphics PictureBox1.Image = New Bitmap(Me.PictureBox1.Size.Width, Me.PictureBox1.Height) g = Graphics.FromImage(PictureBox1.Image) Dim MyBrush As Brush = New Drawing2D.LinearGradientBrush(New Rectangle(5, 5, 120, 60), Color.Yellow, Color.Black, 40) g.FillEllipse(MyBrush, New Rectangle(5, 5, 120, 60))

その他の回答 (2)

回答No.3

「g」を定義していて「FromImage」で指定してるんですね。 そうなると前述した意味のエラーではないのかも・・・ FormにButtonとPictireBoxを配置してButton_Clickイベントに 提示してもらったソースを記述したところエラーなんて出ませんでしたよ?

回答No.1

こんちわ。 「g.FillEllipse」の「g」はどっから持ってきました? それと何かのイベントに記述しているんだと思いますがどのイベントに記述してますか? 試してみましたが↓ Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint Dim MyBrush As Brush = New Drawing2D.LinearGradientBrush(New Rectangle(5, 5, 120, 60), Color.Yellow, Color.Black, 40) e.Graphics.FillEllipse(MyBrush, New Rectangle(5, 5, 120, 60)) End Sub 上記のイベントでは「g」を「e.Graphics」とする事で動作確認できましたよ。

関連するQ&A