2016-06-08 10 views
5

Мне нужно поддерживать 10 бит на пиксельные дисплеи (ака 30-битных цветов) в приложении для просмотра изображений WPF.Не поддерживает ли WPF 10-битные мониторы (или 30-битные цвета)?

У меня есть рабочая установка (10bit экран и Nvidia Quadro), где я был в состоянии проверить, что на 10 бит поддержки работ путем тестирования с градиентом в PhotoShop: (http://www.tedlansingphotography.com/blog/?p=287) и NEC демонстрационной программы (как с использованием OpenGL насколько я вижу).

Однако я не могу заставить мое приложение WPF отображать хороший градиент без обвязки. Я пробовал процедурно генерировать WritableBitmap с PixelFormats.Rgb48 и PixelFormats.Bgr101010, но когда я рисую его на экране (назначая его в System.Windows.Controls.Image.Souce), я все еще вижу полосу.

  1. Не поддерживает ли WPF 10-битные мониторы?
  2. Есть ли альтернативные API-интерфейсы WPF, которые его поддерживают (или мне нужно переписать программу в OpenGL)?

ответ

0

Wpf не поддерживает отображение 10 бит на канал (bpc); только 8 bpc, несмотря на 10bpc-манипулирование файлами, и тот факт, что WPF имеет межобщинный интерфейс с DirectX.

Чтобы иметь 10 bpc внутри WPF, вам может потребоваться ввести OpenGL или DirectX; преимущество использования DirectX поверх OpenGL заключается в том, что дисплей 10bpc будет поддерживаться с помощью карт Geforce; Дисплей OpenGL 10 bpc поддерживается только Quadro, если я могу упомянуть производителя GPU, которого я знаю.

Photoshop использует OpenGL для отображения, поэтому отображение 10bpc с Photoshop является функциональным только с Quadro (это связано с более полными функциональными возможностями OpenGL, поддерживаемыми драйверами Quadro).

https://github.com/Microsoft/WPFDXInterop

https://www.codeproject.com/Articles/23736/Creating-OpenGL-Windows-in-WPF

https://www.codeproject.com/Articles/265903/Using-OpenGL-in-a-WPF-Application

 Смежные вопросы

  • Нет связанных вопросов^_^