我读过这个问题,High Quality Image Scaling Library,但它只涉及GDI+。
当我在我的应用程序中缩小一个Image时,它会变得非常棘手。
我无法在Image类中找到任何允许我提高向下缩放质量的属性。
我该怎么做?
编辑:
我现在使用了以下代码:
BitmapImage img = new BitmapImage();
img.UriSource = new Uri(Graphic, UriKind.Relative);
return img;其中,Graphic是一个包含图像路径的string,但正在获取此异常:
“System.ArgumentException”类型的异常发生在Weather.DLL中,但未在用户代码中处理 附加信息:不能将给定的System.Uri转换为Windows.Foundation.Uri。详情请见http://go.microsoft.com/fwlink/?LinkID=215849。
据我所知,Windows.Foundation.Uri没有在.net框架中使用。
那为什么要给我这个错误呢?
发布于 2012-10-18 13:03:22
在XAML中:
<Image Width="250" Height="250" Stretch="UniformToFill">
<Image.Source>
<BitmapImage UriSource="{Binding ImagePath}" DecodePixelHeight="250"/>
</Image.Source>
</Image>在C#中:
BitmapImage bitmapImage = BitmapImage("URL HERE");
bitmapImage.DecodePixelHeight = 250;只设置DecodePixelHeight或DecodePixelWidth。
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.decodepixelheight.aspx
发布于 2012-10-18 10:59:11
最后,我创建了第二个更小的图像,并在我需要缩小的所有地方使用它。
发布于 2012-10-20 00:56:47
通过使用内置的图像缩放支持,您可能可以完全避免所遇到的问题:
http://msdn.microsoft.com/en-us/library/windows/apps/hh465362.aspx
您可以以不同的分辨率(相同的文件名但具有已知后缀或已知文件夹)包含多个版本的图像,系统将自动为用户设备的DPI加载相应的版本。
https://stackoverflow.com/questions/12949595
复制相似问题