var
spriteSheetTexture: PSDL_texture;
pixel: ^UInt8;
pixelCnt: byte;
SDLRect: TSDL_rect;
spriteSheetSurface:=SDL_loadBMP(PChar('spr4\sprite sheets\spr'+fVal(spriteSheetNum)+'.spr'));
SDLRect.x:=0; SDLRect.y:=0; SDLRect.w:=1; SDLRect.h:=1;
SDL_renderReadPixels(SDLRenderer, @SDLRect, 0, pixel, spriteSheetSurface^.pitch);
for pixelCnt:=0 to 3 do
writeLn(pixel[pixelCnt]);
На самом деле это не похоже на работу. pixel возвращает ноль для каждого индекса, независимо от того, какой пиксель я читаю.
Что ж, спасибо, что проголосовали за мой пост. Я искал в интернете 4 часа, пытаясь найти решение. Черт возьми, у меня сегодня выходной, и я занимаюсь исследованиями с утра. Так зачем опускать мой пост из-за отсутствия исследовательских усилий ?!
Я был прав, когда сказал, что SDL_RenderReadPixels включает в себя текстуру. Документация SDL 2 ссылается на это: «Используйте эту функцию для чтения пикселей из текущей цели рендеринга». Текущей целью рендеринга является экран текстуры или SDL (https://wiki.libsdl.org/SDL_RenderReadPixels).