塗りつぶさずに GraphicPath から Gdi+ Region を取得する必要がありますが、その方法がわかりません。
ドローは言葉よりも優れているので、私がやりたいことは次のとおりです。
- 塗りつぶされていない状態で表示されるよりも、楕円があります (既知の線幅で)
- 私は完全な長方形を持っており、楕円からそれ自体を減算したいと考えています。
- 次に、塗りつぶされていない楕円を、減算された部分で取得したい
だから、ここに私のコードがあります:
// lGraphics and lBrush defined upper...
// Graphic paths
GraphicsPath lGraphicPathEllipse;
GraphicsPath lGraphicPathRectangle;
// Rectangles
Rect lRectEllipse(0, 0, 100, 100);
Rect lRectRectangle(10, -10, 100, 80);
// Add the shapes to the graphic pathes
lGraphicPathEllipse.AddEllipse(lRectEllipse);
lGraphicPathRectangle.AddRectangle(lRectRectangle);
// Create the regions
Region lRegionEllipse(&lGraphicPathEllipse);
Region lRegionRectangle(&lGraphicPathRectangle);
// Exclude the rectangle from the ellipse
lRegionEllipse.Exclude(&lRegionRectangle);
// Draw the ellipse region
lGraphics->FillRegion(&lBrush, &lRegionEllipse);
問題は、私が実際に得たものがこれであるということです:
GraphicPath から Region を作成すると、自動的に領域が塗りつぶされるようです。アウトラインのみで GraphicPath から Region を取得することは可能ですか? たとえば、ペンや線幅を指定することによって?
GraphicPath Widen 関数について読んだことがありますが、実際には私が望んでいることはできません。
このような単純なことができないのは奇妙です。
または多分私は何かを逃した !
助けてくれてありがとう、そして良い一日を。
アレックス。