Как определить, какое приложение использует глубину цвета?

Если вы установите BitsPerPixel="32" в файле WMAppManifest.xml, у вас будет 32-битная глубина цвета в приложении. Дело в том, что недорогие устройства всегда используют 16 бит, поэтому изображения выглядят прерывистыми. Я хочу определить, какое значение BitsPerPixel используется в приложении. Как это сделать?

1 ответ

Решение

Вы можете получить текущий SurfaceFormat от GraphicsDevice как это:

// XNA
game.GraphicsDevice.DisplayMode.Format;

// Silverlight
page.SharedGraphicsDeviceManager.Current.GraphicsDevice.DisplayMode.Format;

Это возвращает SurfaceFormat.Bgr565 для 16-битной глубины цвета и SurfaceFormat.Color для 32-битной глубины цвета.

Другие вопросы по тегам