Я работаю над приложением для обработки изображений SEM, записанным в WPF. Я имею контроль дисплеем изображения, полученный из Холста, который отображает изображение и использование оверлейных программ DrawingVisuals (один для каждого "слоя"). Это также реализует Масштабирование и Pan, использующего масштаб, и переведите, преобразовывают, примененный на DrawingVisuals.
Когда я увеличиваю изображение для наблюдения отдельных пикселей, они отображены гладкие, очевидно использующая билинейная фильтрация для протяжения битового массива (не удивительно, поскольку WPF представляется через Direct3D). Однако для моего варианта использования, я рассматривал бы отдельные пиксели как резкие поля, как обычно, в любом редакторе изображений как Photoshop. Вот почему пользователь моего приложения масштабирует изображение->, чтобы быть в состоянии работать на пиксельном уровне.
Есть ли такая опция в WPF (кроме ручного протяжения битового массива прежде, чем отобразить его)? Я не смог найти что-либо.
заранее спасибо, Zbynek Vrastil Чешская Республика
Наконец-то нашел ответ с некоторой помощью от Experts Exchange. Класс RenderOptions определяет присоединенное свойство BitmapScalingMode, которому можно присвоить значение NearestNeighbor. Итак,
RenderOptions.SetBitmapScalingMode(imageDisplay, BitmapScalingMode.NearestNeighbor);
делает свое дело.
Збынек Врастил