我有一组图形,即2000x1000像素的png。当我将它们放入一个使用浏览器窗口自动调整大小的Silverlight图像时,DisplayImage.Source = new BitmapImage(GetHeatmapURL());
它们的图像看起来很扭曲,而且某些浏览器的尺寸比其他浏览器大得多。
我想摆弄一些可以改善这种下采样质量的设置,这可能吗?难道我做错了什么?我的第一种方法是将图像放入Viewbox。这看起来更糟糕。谷歌搜索几乎没有任何用处...
任何帮助非常感谢。
PS。我正在使用Silverlight 4。
答案 0 :(得分:1)
在使用Viewbox
时,您需要确保将Stretch
设置为Uniform
以尊重原始高度/宽度比率。
关于以给定的纵横比和尺寸渲染图像;这取决于框架。
答案 1 :(得分:1)
您可以查看CodePlex上的WriteableBitmapEx项目,它为您提供Silverlight WritableBitmap类的Resize()扩展方法,您可以使用双线性或最近邻插值。使用双线性插值调整大小可能会给你一些看起来比ViewBox调整大小更好的东西,但你必须测试它。
var resized = writeableBmp.Resize(200, 300, WriteableBitmapExtensions.Interpolation.Bilinear);