並不是透過一個Graphics的物件去處理繪圖
而是做出所需的圖形(線段(Line)、橢圓(Ellipse)、方塊(Rectangle)...)放進容器(Canvas)
步驟如下:
1. 做出Canvas的容器
在XAML裡面加入(可以放在grid的標籤裡面)
<Canvas Margin="0,0,0,0" Name="c"/>
或是在程式碼加入
Canvas c = new Canvas();
this.Content = c;
2. 製作出想要的繪製的圖形物件並將物件放進容器
private void DrawLine(Canvas c, Point s, Point e)
{
/// new a line geometry
LineGeometry l = new LineGeometry(s, e);
/// new a path and set its data as the geometry
System.Windows.Shapes.Path p =
new System.Windows.Shapes.Path();
p.Data = l;
/// add the line as a child of canvas
c.Children.Add(p);
}
其中的LineGeometry也可以換成EllipseGeometry或是RectangleGeometry
就可以畫出橢圓或是長方形
另外,由於WPF會自動作重繪的動作,所以將物件加入就可以了
而且加入的物件依然可以再做改動
--
參考資料
WPF幾何繪圖
WPF中,如何使用圖像API進行繪製
沒有留言:
張貼留言