我的問題是圖像加載似乎不正確地從應用程序資源中加載。這是代碼:將圖像加載到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