日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028

發(fā)布時(shí)間:2023/11/30 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

圖形如矩形、橢圓、路徑等都從Shape類(lèi)派生,它們一般表示規(guī)則或不規(guī)則圖形,這些圖形都是簡(jiǎn)單的二維圖形,我相信大家都能理解的。

例一:矩形。


請(qǐng)看下面的XAML代碼。

?

[html]?view plaincopyprint?
  • <Rectangle?RadiusX="20"?RadiusY="35"??
  • ???????????Fill="Blue"??
  • ???????????Canvas.Left="32"?Canvas.Top="28"??
  • ???????????Width="200"?Height="156"/>??
  • ?

    圖形比較適合在Canvas中定位,所以一系列圖形的示例我都會(huì)放到Canvas中,對(duì)于Canvas的布局方式,我前面的文章中已經(jīng)介紹過(guò)了。
    Rectangle類(lèi)表示一個(gè)矩形,RadiusX表示矩形圓角在X軸上的半徑,RadiusY一樣道理,Fill即填充畫(huà)刷。
    Rectangle類(lèi)還是比較好理解,畢竟它簡(jiǎn)單。

    下面我們?cè)賮?lái)看一個(gè)帶輪廓的,并且用漸變畫(huà)刷填充的矩形。

    [html]?view plaincopyprint?
  • <Rectangle?Canvas.Left="12"?Canvas.Top="210"??
  • ???????????Stroke="Green"??
  • ???????????Height="112"?Width="223"??
  • ???????????StrokeThickness="8.5">??
  • ????<Rectangle.Fill>??
  • ????????<LinearGradientBrush?StartPoint="0,0"?EndPoint="1,1">??
  • ????????????<GradientStop?Color="#FF408764"?Offset="0"/>??
  • ????????????<GradientStop?Color="Gold"?Offset="0.65"/>??
  • ????????????<GradientStop?Color="#FFC697E0"?Offset="1"/>??
  • ????????</LinearGradientBrush>??
  • ????</Rectangle.Fill>??
  • </Rectangle>??
  • ?

    Stroke是輪廓的畫(huà)刷,StrokeThickness是輪廓的大小,這些屬性是從Shape類(lèi)派生的,因此通用于所有子類(lèi)。


    例二:橢圓。


    Ellipse表示橢圓,同樣包括正圓這一特例(高度和寬度相等),這個(gè)類(lèi)的使用也是非常簡(jiǎn)單,它的所有屬性都是從共同基類(lèi)Shape繼承而來(lái)的。
    請(qǐng)看下面的例子。

    [html]?view plaincopyprint?
  • <Ellipse?Canvas.Left="25"?Canvas.Top="370"??
  • ?????????Width="145"?Height="135"??
  • ?????????Stroke="Blue"??
  • ?????????StrokeThickness="3.8"??
  • ?????????Fill="Silver"/>??
  • ?

    下圖顯示以上例子的運(yùn)行效果。

    ?

    ?

    ?


    例三:用Line繪制線(xiàn)段。


    嚴(yán)格上講,應(yīng)該叫線(xiàn)段,因?yàn)橹本€(xiàn)是沒(méi)有端點(diǎn),無(wú)限延展的,而Line是有兩個(gè)端點(diǎn)的,即開(kāi)始點(diǎn)和結(jié)果點(diǎn)。
    Line的使用也是很簡(jiǎn)單的,就是兩個(gè)點(diǎn)(4個(gè)坐標(biāo)),請(qǐng)看實(shí)例。

    [html]?view plaincopyprint?
  • <Grid>??
  • ????<Line?X1="60"?Y1="35"??
  • ??????????X2="480"?Y2="450"??
  • ??????????Stroke="Yellow"??
  • ??????????StrokeThickness="9.2"/>??
  • </Grid>??
  • ?

    Line放在Grid中效果比較明顯,因?yàn)镃anvas中要設(shè)置Left,Top等屬性,這樣會(huì)干擾X1,Y1,X2,Y2的設(shè)置。
    運(yùn)行效果如下圖所示。

    ?


    例四:Polygon和Polyline


    我們看到,這兩個(gè)家伙長(zhǎng)得很像,應(yīng)該是親兄弟。
    它們具有相同的屬性。

    Points:就是構(gòu)成該圖形的所有點(diǎn)的集合。

    這兩個(gè)家伙可能你覺(jué)得有些頭暈,文檔的解釋可能你看不懂,但是,看不懂不等于不能用,沒(méi)關(guān)系,我們先來(lái)比較一下這兩兄弟有啥不同。

    [html]?view plaincopyprint?
  • <Grid>??
  • ????<Grid.ColumnDefinitions>??
  • ????????<ColumnDefinition?Width="*"/>??
  • ????????<ColumnDefinition?Width="*"/>??
  • ????</Grid.ColumnDefinitions>??
  • ????<Grid.RowDefinitions>??
  • ????????<RowDefinition?Height="*"/>??
  • ????????<RowDefinition?Height="Auto"/>??
  • ????</Grid.RowDefinitions>??
  • ????<TextBlock?Grid.Column="0"?Grid.Row="1"?Text="Polygon"?HorizontalAlignment="Center"?Margin="0,20"?FontSize="35"/>??
  • ????<TextBlock?Grid.Column="1"?Grid.Row="1"?Text="Polyline"?HorizontalAlignment="Center"?Margin="0,20"?FontSize="35"/>??
  • ????<Polygon?Grid.Column="0"?Grid.Row="0"??
  • ?????????????Margin="50"??
  • ?????????????Stroke="Yellow"??
  • ?????????????StrokeThickness="6.8"??
  • ?????????????Stretch="Fill">??
  • ????????<Polygon.Points>??
  • ????????????<Point?X="2"?Y="6"/>??
  • ????????????<Point?X="65"?Y="37"/>??
  • ????????????<Point?X="160"?Y="120"/>??
  • ????????????<Point?X="22"?Y="390"/>??
  • ????????</Polygon.Points>??
  • ????</Polygon>??
  • ????<Polyline?Grid.Column="1"?Grid.Row="0"??
  • ??????????????Margin="50"??
  • ??????????????Stroke="Yellow"??
  • ??????????????StrokeThickness="6.8"??
  • ??????????????Stretch="Fill">??
  • ????????<Polyline.Points>??
  • ????????????<Point?X="2"?Y="6"/>??
  • ????????????<Point?X="65"?Y="37"/>??
  • ????????????<Point?X="160"?Y="120"/>??
  • ????????????<Point?X="22"?Y="390"/>??
  • ????????</Polyline.Points>??
  • ????</Polyline>??
  • </Grid>??

  • ?

    看到了吧,一個(gè)是閉合的,一個(gè)是不閉合的,如果看不清楚,自己動(dòng)手,豐衣足食。

    ?

    ?

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    意見(jiàn),博 客編輯器經(jīng)常死掉,點(diǎn)發(fā)布沒(méi)響應(yīng),望 CSDN早點(diǎn)修復(fù)漏洞。

    轉(zhuǎn)載于:https://www.cnblogs.com/songtzu/archive/2012/07/24/2607122.html

    總結(jié)

    以上是生活随笔為你收集整理的Windows Phone开发(30):图形 转:http://blog.csdn.net/tcjiaan/article/details/7453028的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。