Mój problem polega na tym, że ładowanie obrazu wydaje się niepoprawnie z zasobów aplikacji. Jest to kod:Ładowanie obrazu do ImageSource - niepoprawna szerokość i wysokość
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;
plik obrazu "16x16_incorrect.png" to 16x16 32bpp PNG, ale po wykonaniu powyższego kodu, s.Width = s.Height = 21,59729 .... Mam też inny plik - "16x16_correct.png", kiedy ładuję go w ten sam sposób, zarówno szerokość, jak i szerokość ImageSource są równe 16,002.
Mam dużą paczkę przydatnych obrazów PNG 16x16 32bpp, które zamierzam użyć w interfejsie moich aplikacji. Niestety, każdy z nich ładowanie nieprawidłowo & wygląda niewyraźnie (lub smoothy), ponieważ system rozciąga go od 16x16 do 21x21.
Chciałbyś, aby być tak uprzejmie wyjaśnić możliwe rozwiązanie tego problemu? Jeśli problem z plikami obrazów źródłowych, jak mogę zmienić ImageSource.Width na żądany rozmiar, aby móc korzystać z tych plików?
Dziękuję też, hkon. :) – JSP
Drugie rozwiązanie nie zmienia wcale DPI, wystarczy rozciągnąć oryginalny obraz, aby (jednolicie) wypełnić pojemnik, co może doprowadzić do rozmycia obrazu. –
Rzeczywiście, na przykład w pytaniu uważam, że nie zrobiłoby to dużej różnicy. – hkon