2011-02-01 145 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