Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Снимок экрана средствами DirectX


Автор: Fessoooo 26.10.2013, 23:01
Доброго времени суток!

Есть проблема изменения глубины цвета, когда я получаю снимок экрана с помощью SharpDX. Нормально работает только при выбранном формате A8R8G8B8, при изменении формата на A1R5G5B5, вылезает ошибка с пустым сообщением:
HRESULT: [0x8876086C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_INVALIDCALL/InvalidCall], Message: Unknown

Код:
 
Код

var format = SharpDX.Direct3D9.Format.A8B8G8R8;
 
                present_paramsS.Windowed = true;
                present_paramsS.BackBufferFormat = format;
                present_paramsS.SwapEffect = SharpDX.Direct3D9.SwapEffect.Discard;
                present_paramsS.BackBufferWidth = Screen.PrimaryScreen.WorkingArea.Width;
                present_paramsS.BackBufferHeight = Screen.PrimaryScreen.WorkingArea.Height;
 
                dS = new SharpDX.Direct3D9.Device(new SharpDX.Direct3D9.Direct3DEx(),
                                                  0,
                                                  SharpDX.Direct3D9.DeviceType.Hardware,
                                                  IntPtr.Zero,
                                                  SharpDX.Direct3D9.CreateFlags.HardwareVertexProcessing,
                                                  present_paramsS);
 
                sS = SharpDX.Direct3D9.Surface.CreateOffscreenPlain(
                    dS,
                    Screen.PrimaryScreen.Bounds.Width,
                    Screen.PrimaryScreen.Bounds.Height,
                    format,
                    SharpDX.Direct3D9.Pool.Scratch);



Основная цель максимально сократить размер полученного изображения. Есть какие-либо еще настройки при инициализации которые могут повлиять на объем полученного снимка экрана?

Автор: BorisVorontsov 1.11.2013, 10:04
Цитата(Fessoooo @  26.10.2013,  23:01 Найти цитируемый пост)
Основная цель максимально сократить размер полученного изображения.

В памяти или на диске?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)