【萬里征程——Windows App開發】畫筆和影象
畫筆想必大家都不陌生,這裡系統的介紹一下好了。先來介紹純色畫筆。
最簡單的純色畫筆就是已經定義好名字的啦,比如Red和Green這種,據說一共有256種已命名的,所以基本已經夠用啦。XAML解析器會自動將這些顏色名稱連結到Color結構。
還有就是傳說中的十六進位制顏色值,它可以定義精確的24位顏色值,其中有8位用於SolidColorBrush。如下程式碼所示的,alpha=”FF”,紅色=”55”,綠色=”00”,藍色=”88”。
<Rectangle Width="200" Height="100" Fill="#FF550088" />
還有一種稱為屬性元素語法。具體用法如下,其中Opacity就是透明度咯。
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<SolidColorBrush Color="Yellow" Opacity="0.3" />
</Rectangle.Fill>
</Rectangle>
除了純色畫筆外,還有漸變畫筆。小時候學PhotoShop的時候最喜歡漸變畫筆了。
LinearGradientBrush會沿著一條稱為漸變軸直線來進行漸變以繪製一個區域。我們還是拿Rectangle來做示例。
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Green" Offset="0.0" x:Name="GradientStop1"/>
<GradientStop Color="Blue" Offset="0.25" x:Name="GradientStop2"/>
<GradientStop Color="Wheat" Offset="0.7" x:Name="GradientStop3"/>
<GradientStop Color="Yellow" Offset="0.75" x:Name="GradientStop4"/>
<GradientStop Color="Gold" Offset="1.0" x:Name="GradientStop5"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
通過改變StartPoint和EndPoint的屬性值可以建立各種漸變哦,比如垂直和水平方向的漸變,還可以顛倒漸變方向,甚至還可以加快漸變速度呢。
除了用著兩種畫筆外,還可以直接將圖片新增進來呢。
<Ellipse Height="100" Width="200">
<Ellipse.Fill>
<ImageBrush ImageSource="9327.jpg" />
</Ellipse.Fill>
</Ellipse>
效果如下咯,主要是有一張合適的圖片啦。
既然用到了ImageBrush,那就來看看Image和ImageBrush的區別好了。前者主要用來呈現影象,後者則為其他物件繪製為一個影象。
對於Image,我們可以來拉伸影象,也就是Stretch屬性。
None:影象不經過拉伸。如果源影象比所留給Image的區域大,那麼就會被剪下。
Uniform:按照縱橫比來縮放影象。
UniformToFill:按照縱橫比來填滿所有區域,這意味著可能會有一部分不可見。
Fill。因為不保留縱橫比而填滿螢幕,所以影象部分全部可見,但會產生畫面變形(失真)。
具體效果見下圖(來源於網路)。
用Clip屬性可以對影象進行剪裁,Rect屬性在上一篇部落格中用過許多次,前2個值為起始點的X軸和Y軸座標,後2個值為終點的X軸和Y軸座標。
<Image Source="9327.jpg">
<Image.Clip>
<RectangleGeometry Rect="10,10,100,100"/>
</Image.Clip>
</Image>
Image和ImageBrush能處理的影象格式有哪幾種呢?
JPEG XR
圖示(ICO)
點陣圖(BMP)
影象交換格式(GIF)
聯合影象專家組(JPEG)
可移植網路影象(PNG)
標記影象檔案格式(TIEF)
為使本文得到斧正和提問,轉載請註明出處:
http://blog.csdn.net/nomasp
相關文章
- 【萬里征程——Windows App開發】動畫1WindowsAPP動畫
- 【萬里征程——Windows App開發】開發準備WindowsAPP
- 【萬里征程——Windows App開發】應用欄WindowsAPP
- 【萬里征程——Windows App開發】使用Toast通知WindowsAPPAST
- 【萬里征程——Windows App開發】繪製圖形WindowsAPP
- 【萬里征程——Windows App開發】補充:JSONWindowsAPPJSON
- 【萬里征程——Windows App開發】動態磁貼WindowsAPP
- 【萬里征程——Windows App開發】使用華麗麗的字型WindowsAPP
- 【萬里征程——Windows App開發】如何使用貼上板WindowsAPP
- 【萬里征程——Windows App開發】頁面佈局和基本導航WindowsAPP
- 【萬里征程——Windows App開發】DatePicker&TimepickerWindowsAPP
- 【萬里征程——Windows App開發】ListView&GridView之分組WindowsAPPView
- 【萬里征程——Windows App開發】SemanticZoom檢視切換WindowsAPPOOM
- 【萬里征程——Windows App開發】應用設定和應用幫助WindowsAPP
- 【萬里征程——Windows App開發】設定共享(共享源和共享目標)WindowsAPP
- 【萬里征程——Windows App開發】控制元件大集合1WindowsAPP控制元件
- 【萬里征程——Windows App開發】控制元件大集合2WindowsAPP控制元件
- 【萬里征程——Windows App開發】在應用中整合搜尋WindowsAPP
- 【萬里征程——Windows App開發】DatePickerFlyout、TimePickerFlyout的使用WindowsAPP
- 【萬里征程——Windows App開發】編輯文字及鍵盤輸入WindowsAPP
- 【萬里征程——Windows App開發】ListView&GridView之新增資料WindowsAPPView
- 【萬里征程——Windows App開發】用浮出控制元件做預覽效果WindowsAPP控制元件
- 【萬里征程——Windows App開發】檔案&資料——檔案選取器WindowsAPP
- 【萬里征程——Windows App開發】檔案&資料——寫入與讀取WindowsAPP
- 【萬里征程——Windows App開發】檔案&資料——獲取檔案屬性WindowsAPP
- 【萬里征程——Windows App開發】如何儲存、讀取、刪除應用資料WindowsAPP
- 【萬里征程——Windows App開發】檔案&資料——讀取檔案/資料夾名WindowsAPP
- 【萬里征程——Windows App開發】資料繫結——簡單示例、更改通知、資料轉換WindowsAPP
- 【萬里征程——Windows App開發】如何在多個頁面間讀取/儲存檔案【草稿】WindowsAPP
- 線上漫畫小程式app開發APP
- c#影象處理入門(-bitmap類和影象畫素值獲取方法)C#
- Windows App 應用開發教程WindowsAPP
- Windows Phone 8 開發筆記Windows筆記
- uinapp 開發筆記UIAPP筆記
- H5遊戲開發:一筆畫H5遊戲開發
- 常用的畫素操作演算法:影象加法、畫素混合、提取影象中的ROI演算法
- 影象中的畫素處理
- Python-OpenCV 處理影象(三):影象畫素點操作PythonOpenCV