2011-02-01 147 views
0

我有一個圖形陣列,即2000x1000像素PNG。當我將它們放入silverlight圖片時,它會自動調整瀏覽器窗口的尺寸,DisplayImage.Source = new BitmapImage(GetHeatmapURL());它們的圖像看起來很扭曲,而且對於某些瀏覽器尺寸比其他一些瀏覽器的尺寸要差得多。使用Silverlight進行圖像縮放(縮小尺寸)

我想擺弄一些可以提高下采樣質量的設置,這可能嗎?難道我做錯了什麼?我的第一種方法是將圖像放入視圖框中。那看起來更糟。谷歌搜索幾乎沒有任何用處...

任何幫助非常感謝。

PS。我正在使用Silverlight 4.

回答

1

您可以查看CodePlex上的WriteableBitmapEx項目,該項目爲您提供Silverlight WritableBitmap類的Resize()擴展方法,您可以在其中使用雙線性或最近鄰居插值。使用雙線性插值調整大小可能會讓您看起來比ViewBox調整大小看起來好些,但您必須對其進行測試。

var resized = writeableBmp.Resize(200, 300, WriteableBitmapExtensions.Interpolation.Bilinear); 
1

使用Viewbox時,您需要確保將Stretch設置爲Uniform以尊重原始高度/寬度比率。

關於以給定縱橫比和尺寸呈現圖像,這取決於框架。

+0

是的,我知道我需要保持寬高比。我只是想要一些不同的下采樣算法。它可能比現在的計算更昂貴,只要它可以讓我很開心。 – Gleno 2011-02-01 15:22:07

+0

@Gleno您是否試圖在將圖像放入SL之前縮放圖像;看看它看起來如何放大?如果你有同樣的問題,會很好奇...... – 2011-02-01 15:27:32