Проблемы, согласившись на информацию о пикселях render в SDL2

у меня есть проблемы, попробовав соглашаться на информацию о пикселях Render в SDL2, я смотрел кучу форумов, руководители и страницы и все говорят мне делания этого с Surface, но случай состоит в том, что одинокий проект может быть Render.

К части этого, что есть функция, призови RenderReadPixels, но эта функция только возвращает мне 1, если он прочитал правильно все данные или 0, если была какая-то проблема, прочитав их, но не возвращает мне никакой информации о пикселе, который прочитал следовательно, не подает меня ничего.

Большое спасибо читать из-за меня!!

0
задан 09.11.2019, 17:15
1 ответ

https://wiki.libsdl.org/SDL_RenderReadPixels

pГ-xeles получают в travГ©s parГЎmetro void* pixels ее funciГіn, что является array со стоимостью на цвете и зависит от формата (parГЎmetro Uint32 format) изображения и размеров в pГ-xeles этой. Например:

, Если формата изображения SDL_PIXELFORMAT_RGB888, значит, что изображение использует 3 канала ( R ed, G reen и B инфекция); и что каждый канал использует 8 бит (1 байт). AsГ - что количество элементов, которое возвращает void* pixels:

width * height * 3 // ancho x alto de la imagen(o render) x 3 canales(RGB).

, однажды Полученные они pГ-xeles в указателе типа void, и понимая, что изображение считает формат раньше упомянутым, если quieremos получать цвет первого pГ-xel:

Uint8 r = pixels[0];
Uint8 g = pixels[1];
Uint8 b = pixels[2];

Относительно parГЎmetro int pitch ее funciГіn, я понимаю, что это ширина изображения, умноженная на количество байт из-за цвета:

ancho * 3; // ancho de la imagen x 3 canales RGB para cada color.
0
ответ дан 01.12.2019, 12:10