タイトル : うまくExtFloodFillが使用できません 投稿日 : 2008/12/18(Thu) 10:44 投稿者 : のうち
こんにちは、はじめまして。 ExtFloodFill関数を用いて多角形の背景部分の色をとりあえず変えたいと思っています。 その際にpictureboxからcreategraphicsで作られたgraphics型のハンドラを用いて実行すればちゃんとなるのですが、bitmap型からfromimageで作ったgraphics型のハンドラでは、うまくいきません。(その後picturebox.imageに代入したら、背景が変わっていませんでした) 後の作業で1pixelずつ背景を読み取って線を引こうと思っているのでどうしても背景のみを色を変えたbitmapの画像が欲しいのです。 やはり一度pictureboxの内容をファイルに落としたりして読み込むほうが早いのでしょうか・・・。 どなたかわかる方がいらっしゃいましたらご教授下さい。 コード例: Dim img As New Bitmap(PictureBox1.Width, PictureBox1.Height) Dim g As Graphics = Graphics.FromImage(img) g.DrawArc(Pens.Black, 30, 30, 260, 200, 0, 360) Dim ret As Integer '丸の外側を塗りつぶす ret = ExtFloodFill(g.GetHdc, 0, 0, Color.Black.ToArgb, 0) 'ピクチャーボックスに入れる PictureBox1.Image = img MsgBox(ret) 'ハンドルを解放する g.ReleaseHdc() |