WPF中ImageBrush常用方式介紹
WPF的ImageBrush是一個比較常見也比較復雜的筆刷,它繼承自圖塊筆刷(TileBrush)。使用圖塊畫筆繪制區(qū)域涉及以下三個組成部分:內(nèi)容、基本圖塊和輸出區(qū)域?;据敵鲞^程如下圖所示:

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

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"
默認情況下,Viewport和Viewbox都是使用的相對范圍,默認是(0,0,1,1)。如果要設(shè)置絕對范圍,可以設(shè)置ViewboxUnits="Absolute"和ViewportUnits="Absolute"
平鋪筆刷
有時我們需要像墻紙那樣講一個圖片重復繪制,如下圖所示

簡單的方法是
- 設(shè)置Viewport,使得原圖只投影到一部分輸出區(qū)域(投影到全部輸出區(qū)域看不到平鋪效果)
- 設(shè)置TileMode為Tile

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

TileMode="FlipX"

TileMode="FlipY"

TileMode="FlipXY"

另外,還有一些比較常見的屬性:AlignmentX,AlignmentY,Stretch。這里就不一一介紹了,具體可參看MSDN文檔:
https://msdn.microsoft.com/zh-cn/library/aa970682(v=vs.110).aspx
到此這篇關(guān)于WPF中ImageBrush常用方式的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用TensorFlow.NET訓練自己的數(shù)據(jù)集的方法
這篇文章主要介紹了C#使用TensorFlow.NET訓練自己的數(shù)據(jù)集的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
C#讀取與寫入txt文件內(nèi)容的實現(xiàn)方法
在 C# 中讀取和寫入文本文件內(nèi)容是一個常見的任務(wù),本文主要介紹了使用幾種不同方法讀取和寫入文本文件的示例,并通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-08-08
c# Rank屬性與GetUpperBound方法的深入分析
本篇文章是對c#中的Rank屬性與GetUpperBound方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06
c#?使用線程對串口serialPort進行收發(fā)數(shù)據(jù)(四種)
本文主要介紹了c#?使用線程對串口serialPort進行收發(fā)數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07

