使用Silverlight进行图像重新缩放(缩小尺寸)

时间:2011-02-01 15:12:57

标签: c# silverlight silverlight-4.0

我有一组图形,即2000x1000像素的png。当我将它们放入一个使用浏览器窗口自动调整大小的Silverlight图像时,DisplayImage.Source = new BitmapImage(GetHeatmapURL());它们的图像看起来很扭曲,而且某些浏览器的尺寸比其他浏览器大得多。

我想摆弄一些可以改善这种下采样质量的设置,这可能吗?难道我做错了什么?我的第一种方法是将图像放入Viewbox。这看起来更糟糕。谷歌搜索几乎没有任何用处...

任何帮助非常感谢。

PS。我正在使用Silverlight 4。

2 个答案:

答案 0 :(得分:1)

在使用Viewbox时,您需要确保将Stretch设置为Uniform以尊重原始高度/宽度比率。

关于以给定的纵横比和尺寸渲染图像;这取决于框架。

答案 1 :(得分:1)

您可以查看CodePlex上的WriteableBitmapEx项目,它为您提供Silverlight WritableBitmap类的Resize()扩展方法,您可以使用双线性或最近邻插值。使用双线性插值调整大小可能会给你一些看起来比ViewBox调整大小更好的东西,但你必须测试它。

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