C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

指定した領域以外を塗りつぶす方法 /tune (19/06/28(Fri) 13:26) #91450
Re[1]: 指定した領域以外を塗りつぶす方法 /Hongliang (19/06/28(Fri) 13:36) #91451
  └ Re[2]: 指定した領域以外を塗りつぶす方法 /tune (19/06/28(Fri) 17:24) #91452 解決済み


親記事 / ▼[ 91451 ]
■91450 / 親階層)  指定した領域以外を塗りつぶす方法
□投稿者/ tune (1回)-(2019/06/28(Fri) 13:26:29)

分類:[.NET 全般] 




PictureBoxでFillRectangleを使って
指定した領域を塗りつぶすことができますが、
逆に、指定した領域以外塗りつぶすにはどのようにしたら良いですか?

FillRectangleを複数回使って
地道に塗りつぶしていくしかないですか?



[ □ Tree ] 返信 編集キー/

▲[ 91450 ] / ▼[ 91452 ]
■91451 / 1階層)  Re[1]: 指定した領域以外を塗りつぶす方法
□投稿者/ Hongliang (831回)-(2019/06/28(Fri) 13:36:05)
とりあえず思いついたのは以下のようなものです。

Dim reg As New Region()

// 矩形部分を除外
reg.Exclude(New Rectanglef(10, 10, 54, 33))

// 楕円部分を除外
Dim path As New GraphicsPath()
path.AddEllipse(90, 90, 40, 30)
reg.Exclude(path)

g.FillRegion(Brushes.Red, reg)
[ 親 91450 / □ Tree ] 返信 編集キー/

▲[ 91451 ] / 返信無し
■91452 / 2階層)  Re[2]: 指定した領域以外を塗りつぶす方法
□投稿者/ tune (2回)-(2019/06/28(Fri) 17:24:55)
こんな方法があったのですね
どうもありがとうございました。

解決済み
[ 親 91450 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -