我的问题是图像加载似乎不正确地从应用程序资源中加载。这是代码:将图像加载到ImageSource中 - 宽度和高度不正确
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri(@"pack://application:,,,/WpfApplication3;component/Resources/Images/16x16_incorrect.png", UriKind.Absolute);
bi.EndInit();
ImageSource s = bi;
图像文件 “16x16_incorrect.png” 为16x16 32bpp的PNG文件,但上面的代码执行后,s.Width = s.Height = 21,59729 ....我也有另一个文件 - “16x16_correct.png”,当我以相同的方式加载它时,ImageSource的宽度和高度都等于16,002。
我有一大堆有用的PNG 16x16 32bpp图像,我打算在我的应用程序的UI中使用。不幸的是,它们每个都加载不正确&看起来模糊(或光滑),因为系统将其从16x16扩展到21x21。
你愿意为这么好心来解释这个问题的可能的解决方案?如果源图像文件存在问题,我如何将ImageSource.Width更改为所需的大小以便使用此文件?
也谢谢你,hkon。 :) – JSP 2010-09-19 15:58:49
第二种解决方案根本不会改变DPI,它只会将原始图像拉伸(均匀)填充容器,从而导致模糊的图像。 – 2017-11-09 18:13:31
事实上,对于这个问题中的例子,我认为它没有什么区别。 – hkon 2017-11-25 21:38:01