在使用RectangleGeometry控件繪製矩形時,矩形的位置和尺寸由Rect屬性定義,該屬性指定矩形的相對位置、高度和寬度。Rect有四個參數,前兩個參數表示矩形左上角的位置,後兩個參數分別表示矩形的寬和高。下面將經過示例演示如何使用RectangleGeometry控件繪製矩形。 this
在一個打開的Windows應用商店項目中新建一個空白頁,並命名爲RectangleGeometryPage,雙擊打開此頁面的RectangleGeometryPage.xaml文件,在Grid元素中添加以下代碼。 spa
<Path Fill="red" Stroke="blue" StrokeThickness="3"> 對象
<Path.Data> blog
<RectangleGeometry Rect="300,300,100,100" /> 圖片
</Path.Data> ip
</Path> it
上面的代碼首先定義一個Path控件並設置Fill屬性爲紅色(red)、Stroke屬性爲藍色(blue)和StrokeThickness屬性爲3像素。接着在Path.Data的內部使用RectangleGeometry的Rect屬性定義了一個起始座標爲 (300,300)、高度和寬度均爲100的矩形。繪製矩形的運行效果如圖8-11所示。 後臺
接下來在後臺使用RectangleGeometry類型的對象繪製一個與前臺同樣的矩形,代碼以下所示: im
public RectangleGeometryPage() 命名
{
this.InitializeComponent();
//實例化Path對象
Windows.UI.Xaml.Shapes.Path mypath = new Windows.UI.Xaml.Shapes.Path();
mypath.StrokeThickness = 3;
mypath.Stroke = new SolidColorBrush(Colors.Blue);
mypath.Fill = new SolidColorBrush(Colors.Red);
//實例化rectang對象
RectangleGeometry rectang = new RectangleGeometry();
//設置矩形的位置與大小
rectang.Rect = new Rect(300, 300, 100, 100);
mypath.Data = rectang;
//將mypath添加到MyShow控件中
MyShow.Children.Add(mypath);
}
在上面的代碼中,首先實例化Path類型的對象mypath,並設定StrokeThickness 爲3像素、Stroke屬性爲藍色(Blue)和Fill爲紅色(Red)。而後定義RectangleGeometry類型的對象rectang,接着用Rect類型的對象給rectang的Rect屬性賦值。將rectang對象賦值給mypath對象的Data屬性,最後把mypath對象添加到名爲MyShow的控件中。
運行此頁面,利用RectangleGeometry繪製矩形的效果如圖8-10所示。
圖8-10 RectangleGeometry 畫的矩形
RectangleGeometry對象除了能繪製幾何圖形,還能夠定義圖像的剪輯區域,在Geometry的子類中目前只有RectangleGeometry支持定義剪輯區域。下面經過一個簡單的示例來展現此功能,代碼以下所示:
<!--原圖-->
<Image Source="Images/Image.png" Width="200"></Image>
<!--截圖代碼-->
<Image Source="Images/Image.png" Width="200" >
<Image.Clip>
<RectangleGeometry Rect="20,20,100,100">
</RectangleGeometry>
</Image.Clip>
</Image>
上面的代碼添加了兩個Image控件,一個用於顯示原圖,另外一個用於顯示剪輯後的圖片。接着設置Image控件的Source屬性爲圖片在項目中的路徑,這須要提早將圖片導入到項目中以便得到圖片的路徑。最後在第二個Image控件的Clip屬性中添加一個RectangleGeometry元素,並設置它的Rect屬性,這樣便可實現圖片的剪輯。
運行上面的代碼,截圖效果對好比圖8-11所示。
圖8-11 截圖效果對比圖