2009年7月24日 星期五

在WPF應用程式中繪圖

WPF的繪圖和.net form的概念不同
並不是透過一個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進行繪製

沒有留言:

張貼留言