Как я могу расширить битовый массив в WPF, не сглаживая пиксели

Я работаю над приложением для обработки изображений SEM, записанным в WPF. Я имею контроль дисплеем изображения, полученный из Холста, который отображает изображение и использование оверлейных программ DrawingVisuals (один для каждого "слоя"). Это также реализует Масштабирование и Pan, использующего масштаб, и переведите, преобразовывают, примененный на DrawingVisuals.

Когда я увеличиваю изображение для наблюдения отдельных пикселей, они отображены гладкие, очевидно использующая билинейная фильтрация для протяжения битового массива (не удивительно, поскольку WPF представляется через Direct3D). Однако для моего варианта использования, я рассматривал бы отдельные пиксели как резкие поля, как обычно, в любом редакторе изображений как Photoshop. Вот почему пользователь моего приложения масштабирует изображение->, чтобы быть в состоянии работать на пиксельном уровне.

Есть ли такая опция в WPF (кроме ручного протяжения битового массива прежде, чем отобразить его)? Я не смог найти что-либо.

заранее спасибо, Zbynek Vrastil Чешская Республика

18
задан Zbynek Vrastil 4 March 2010 в 16:42
поделиться

1 ответ

Наконец-то нашел ответ с некоторой помощью от Experts Exchange. Класс RenderOptions определяет присоединенное свойство BitmapScalingMode, которому можно присвоить значение NearestNeighbor. Итак,

RenderOptions.SetBitmapScalingMode(imageDisplay, BitmapScalingMode.NearestNeighbor);

делает свое дело.

Збынек Врастил

18
ответ дан 30 November 2019 в 09:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: