WPF中的ImageBrush常用方式


WPF的ImageBrush是一個比較常見也比較復雜的筆刷,它繼承自圖塊筆刷(TileBrush)。使用圖塊畫筆繪制區域涉及以下三個組成部分:內容、基本圖塊和輸出區域。基本輸出過程如下圖所示:

其中,圖塊部分有Viewbox控制,輸出區域有Viewport控制,它們默認情況下都是一個(0,0,1,1)的矩形,通過相對位置控制圖象的輸出。可以組合使用,下表就是一些簡單的示例:


Viewport="0,0,0.5,0.5"


Viewbox="0,0,0.5,0.5"


Viewport="0,0,0.5,0.5" Viewbox="0,0,0.5,0.5"

默認情況下,ViewportViewbox都是使用的相對范圍,默認是(0,0,1,1)。如果要設置絕對范圍,可以設置ViewboxUnits="Absolute"ViewportUnits="Absolute"

 

平鋪筆刷

有時我們需要像牆紙那樣講一個圖片重復繪制,如下圖所示

簡單的方法是

  1. 設置Viewport,使得原圖只投影到一部分輸出區域(投影到全部輸出區域看不到平鋪效果)
  2. 設置TileModeTile


Viewport="0,0,0.5,0.5" Viewbox="0,0,0.5,0.5" TileMode="Tile"


TileMode="FlipX"


TileMode="FlipY"


TileMode="FlipXY"

另外,還有一些比較常見的屬性:AlignmentXAlignmentYStretch。這里就不一一介紹了,具體可參看MSDN文檔:

https://msdn.microsoft.com/zh-cn/library/aa970682(v=vs.110).aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM