2011-07-16 58 views
0

我有以下C#代碼:在16加載圖像:9比例

var bitmapImage = new BitmapImage(); 

bitmapImage.BeginInit(); 
bitmapImage.UriSource = new Uri(dlg.FileName); 
bitmapImage.DecodePixelWidth = 500; 
bitmapImage.EndInit(); 
imgBackground.Source = bitmapImage; 

我知道這將可能是一個簡單的回答。現在我的圖像加載並以500px寬度解碼以保持比例不變。我的問題是,如何更改此代碼以使我的圖像達到高檔或低檔,以便保持16:9的比例,就像電視電影一樣?這是一個使用C#的WPF應用程序。

+0

我不明白這個問題。圖像是否已經在16:9,並且你希望保持這種狀態(你的代碼已經可以做到了)?或者你想將它轉換爲16:9(在這種情況下,你不得不拉伸或裁剪)? – Sven

+0

@Sven - 它可能已經或可能不在16:9。該圖像來自OpenFileDialog,用戶可以選擇他們想要的任何圖像。如果它的比例不是16:9,我想知道如何將它拉伸/剪裁成16:9。你是對的,如果圖像已經是16:9,那麼我的代碼就可以正常工作。 – Icemanind

回答

0

創建一個image從文件和stretch它。

示例here

+0

我得到如何在WPF中拉伸圖像。我不知道如何拉伸它,使寬高比爲16:9。我是否將寬度設置爲某個值,然後將高度設置爲相同的值併除以9? – Icemanind

+0

@icemanind啊,我現在明白了。您可以將容器對象的高度和寬度設置爲任何您想要的值(例如160 x 90),並且圖像會延伸以填充該對象。在我列出的例子中,列寬是200,行高是175. – vlad

+0

我明白了。謝謝 – Icemanind