У меня есть движок рендеринга графического процессора, который создает текстуры. Эти текстуры копируются в WriteableBitmap. Этот битмап используется в качестве источника изображения в обычном представлении Windows Presentation Foundation.Wpf Dpi и пиксель-идеальный WritableBitmap
Теперь я установил, что мой dpi равен 120, то есть я включил 125% размер шрифта в панели управления Windows.
С этого изменения WritableBitmap выглядит действительно уродливо. Он больше не идеален для пикселей и выглядит плохо сглаженным (вероятно, потому, что Wpf растягивает его как-то).
Я играл со следующими параметрами:
- This answer описывает, как получить ДОИ от МОФ, и я настроил значения WritableBitmap точек на дюйм и ширина/высота соответственно.
- Отключить UseLayoutПрименить и включить SnapToDevicePixels в XAML, который содержит изображение.
Но я не могу заставить его выглядеть хорошо. Я не уверен, что понимаю, что именно я должен установить для каких значений, чтобы получить идеальный пиксель. Кажется, что есть несколько настроек, которые зависят друг от друга.
Хороший ответ объясняет, каким образом настройки должны быть установлены в комбинациях так, чтобы они работали должным образом.
Лучше один раз [посмотреть] (http://stackoverflow.com/help/mcve), чем 10 раз услышать. – Sinatr
Помогает ли последний параграф этой статьи? https://msdn.microsoft.com/en-us/library/windows/desktop/ee308410%28v=vs.85%29.aspx –
и вы проверили эту статью - http://blogs.msdn.com/ b/patricka/archive/2010/04/15/why-do-a-high-dpi-setting-make-my-application-look-fuzzy-and-have-clipped-text.aspx – AwkwardCoder