Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Снимок экрана средствами DirectX 
:(
    Опции темы
Fessoooo
Дата 26.10.2013, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.10.2013

Репутация: нет
Всего: нет



Доброго времени суток!

Есть проблема изменения глубины цвета, когда я получаю снимок экрана с помощью 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);



Основная цель максимально сократить размер полученного изображения. Есть какие-либо еще настройки при инициализации которые могут повлиять на объем полученного снимка экрана?
PM MAIL   Вверх
BorisVorontsov
Дата 1.11.2013, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 1
Всего: 10



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

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


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.