Size: 1171
Comment: create page, add content
|
← Revision 16 as of 2020-04-29 20:50:08 ⇥
Size: 1943
Comment: mention potential padding in pitch
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Use this function to read pixels from the current rendering target. | Use this function to read pixels from the current rendering target to an array of pixels. |
Line 11: | Line 11: |
int SDL_RenderReadPixels(const SDL_Rect* rect, | int SDL_RenderReadPixels(SDL_Renderer* renderer, const SDL_Rect* rect, |
Line 18: | Line 19: |
||'''rect'''||a pointer to the [[SDL_Rect]] to read, or NULL for the entire render target|| ||'''format'''||the desired format of the pixel data, or 0 to use the format of the rendering target|| ||'''pixels'''||a pointer to be filled in with the pixel data|| ||'''pitch'''||the pitch of the pixels parameter|| |
||'''renderer'''||the rendering context|| ||'''rect'''||an [[SDL_Rect]] structure representing the area to read, or NULL for the entire render target|| ||'''format'''||the desired format of the pixel data, or 0 to use the format of the rendering target; see [[#format|Remarks]] for details|| ||'''pixels'''||a pointer to the pixel data to copy into|| ||'''pitch'''||the pitch of the '''pixels''' parameter; see [[#pitch|Remarks]] for details|| |
Line 24: | Line 26: |
Returns 0 on success or -1 if pixel reading is not supported; call [[SDL_GetError]]() for more information. | Returns 0 on success or a negative error code on failure; call [[SDL_GetError]]() for more information. |
Line 32: | Line 34: |
WARNING: This is a very slow operation, and should not be used frequently. | /!\ WARNING: This is a very slow operation, and should not be used frequently. |
Line 34: | Line 36: |
== Related Functions == .[[SDL_RenderWritePixels]]??? |
<<Anchor(pitch)>> '''pitch''' specifies the number of bytes between rows in the destination '''pixels''' data. This allows you to write to a subrectangle or have padded rows in the destination. Generally, '''pitch''' should equal the ''number of pixels per row'' in the '''pixels''' data times the ''number of bytes per pixel'', but it might contain additional padding (for example, 24bit RGB Windows Bitmap data pads all rows to multiples of 4 bytes). <<Anchor(format)>> '''format''' may be one of the following: <<Include(SDL_PixelFormatEnum, , , from="=== Pixel Format Values ===", to="== Code Examples ==")>> |
Line 38: | Line 44: |
[[CategoryAPI]], [[CategoryVideo]] | [[CategoryAPI]], [[CategoryRender]] |
SDL_RenderReadPixels
Use this function to read pixels from the current rendering target to an array of pixels.
Syntax
int SDL_RenderReadPixels(SDL_Renderer* renderer,
const SDL_Rect* rect,
Uint32 format,
void* pixels,
int pitch)
Function Parameters
renderer |
the rendering context |
rect |
an SDL_Rect structure representing the area to read, or NULL for the entire render target |
format |
the desired format of the pixel data, or 0 to use the format of the rendering target; see Remarks for details |
pixels |
a pointer to the pixel data to copy into |
pitch |
the pitch of the pixels parameter; see Remarks for details |
Return Value
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
Code Examples
You can add your code example here
Remarks
WARNING: This is a very slow operation, and should not be used frequently.
pitch specifies the number of bytes between rows in the destination pixels data. This allows you to write to a subrectangle or have padded rows in the destination. Generally, pitch should equal the number of pixels per row in the pixels data times the number of bytes per pixel, but it might contain additional padding (for example, 24bit RGB Windows Bitmap data pads all rows to multiples of 4 bytes).
format may be one of the following:
SDL_PIXELFORMAT_UNKNOWN |
|
SDL_PIXELFORMAT_INDEX1LSB |
|
SDL_PIXELFORMAT_INDEX1MSB |
|
SDL_PIXELFORMAT_INDEX4LSB |
|
SDL_PIXELFORMAT_INDEX4MSB |
|
SDL_PIXELFORMAT_INDEX8 |
|
SDL_PIXELFORMAT_RGB332 |
|
SDL_PIXELFORMAT_RGB444 |
|
SDL_PIXELFORMAT_RGB555 |
|
SDL_PIXELFORMAT_BGR555 |
|
SDL_PIXELFORMAT_ARGB4444 |
|
SDL_PIXELFORMAT_RGBA4444 |
|
SDL_PIXELFORMAT_ABGR4444 |
|
SDL_PIXELFORMAT_BGRA4444 |
|
SDL_PIXELFORMAT_ARGB1555 |
|
SDL_PIXELFORMAT_RGBA5551 |
|
SDL_PIXELFORMAT_ABGR1555 |
|
SDL_PIXELFORMAT_BGRA5551 |
|
SDL_PIXELFORMAT_RGB565 |
|
SDL_PIXELFORMAT_BGR565 |
|
SDL_PIXELFORMAT_RGB24 |
|
SDL_PIXELFORMAT_BGR24 |
|
SDL_PIXELFORMAT_RGB888 |
|
SDL_PIXELFORMAT_RGBX8888 |
|
SDL_PIXELFORMAT_BGR888 |
|
SDL_PIXELFORMAT_BGRX8888 |
|
SDL_PIXELFORMAT_ARGB8888 |
|
SDL_PIXELFORMAT_RGBA8888 |
|
SDL_PIXELFORMAT_ABGR8888 |
|
SDL_PIXELFORMAT_BGRA8888 |
|
SDL_PIXELFORMAT_ARGB2101010 |
|
SDL_PIXELFORMAT_RGBA32 |
alias for RGBA byte array of color data, for the current platform (>= SDL 2.0.5) |
SDL_PIXELFORMAT_ARGB32 |
alias for ARGB byte array of color data, for the current platform (>= SDL 2.0.5) |
SDL_PIXELFORMAT_BGRA32 |
alias for BGRA byte array of color data, for the current platform (>= SDL 2.0.5) |
SDL_PIXELFORMAT_ABGR32 |
alias for ABGR byte array of color data, for the current platform (>= SDL 2.0.5) |
SDL_PIXELFORMAT_YV12 |
planar mode: Y + V + U (3 planes) |
SDL_PIXELFORMAT_IYUV |
planar mode: Y + U + V (3 planes) |
SDL_PIXELFORMAT_YUY2 |
packed mode: Y0+U0+Y1+V0 (1 plane) |
SDL_PIXELFORMAT_UYVY |
packed mode: U0+Y0+V0+Y1 (1 plane) |
SDL_PIXELFORMAT_YVYU |
packed mode: Y0+V0+Y1+U0 (1 plane) |
SDL_PIXELFORMAT_NV12 |
planar mode: Y + U/V interleaved (2 planes) (>= SDL 2.0.4) |
SDL_PIXELFORMAT_NV21 |
planar mode: Y + V/U interleaved (2 planes) (>= SDL 2.0.4) |