WPF呼叫圖片路徑,或資源圖片(WPF編譯器、執行期 引用資源)
阿新 • • 發佈:2019-01-28
http://www.cnblogs.com/sntetwt/p/5402098.html
一、載入本專案的圖片
WPF引入了統一資源標識Uri(Unified Resource Identifier)來標識和訪問資源。
其中較為常見的情況是用Uri載入影象。Uri表示式的一般形式為:協議+授權+路徑
協議:pack://
授權:有兩種。一種用於訪問編譯時已經知道的檔案,用application:///
一種用於訪問編譯時不知道、執行時才知道的檔案,用siteoforigin:///
一般用逗號代替斜槓,也就是改寫作application:,,,和pack:,,,
路徑:分為絕對路徑和相對路徑。一般選用相對路徑,普適性更強
下面,我們舉一個簡單的例子:
pack://application:,,,/images/my.jpg
當然,WPF預設Uri設定有pack://application:,,,,所以我們也可以直接將其寫作:/images/my.jpg
後邊寫例子程式時,為了讓讀者更好的瞭解Uri,我們都採用完整的Uri寫法。
下面在講講裝載圖片的兩種方式,一種用XAML引用資源,一種用程式碼引用資源。
用XAML引用資源:
<Image Source= "pack://application:,,,/images/my.jpg" />
|
也可以這樣
<Image Source= "/images/my.jpg" />
|
用程式碼引用資源:
Image img;
img.Source= new
BitmapImage( new
Uri( "pack://application:,,,/images/my.jpg" ),UriKind.Relative);
|
也可以直接使用程式碼中引用圖片資源
image2.Source =
new
BitmapImage( new
Uri( "/images/my.jpg" , UriKind.Relative));
|
二、WPF 呼叫資源圖片
imagePath =
"pack://application:,,,/Solution;component/Properties/../images/star/my.jpg" ;
imageBrush.ImageSource =
new
BitmapImage( new
Uri(imagePath, UriKind.RelativeOrAbsolute));
|
三、WPF引用外部專案資源的方法
WPF中如果你使用的資原始檔不是本程式集的,是另外的程式集,就可以這樣做:
1.引用要用的程式集,pack://application:,,,/程式集名稱;component/路徑 ,其中pack://application:,,,可以省略
示例:
<Image Source= "pack://application:,,,/Skin;component/image/you.png"
/>
|
或者
<Image Source= "/Skin;component/image/you.png"
/>
|
四、使用SiteOfOrigin
imgContent.Source =
new
BitmapImage(
new
Uri(
"pack://SiteOfOrigin:,,,/images/my.jpg"
));