Load image from texture and screen.
This commit is contained in:
17
API.md
17
API.md
@@ -1596,6 +1596,23 @@ Load image from file into CPU memory ( RAM )
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
> image = RL_LoadImageFromTexture( Texture2D texture )
|
||||||
|
|
||||||
|
Load image from GPU texture data
|
||||||
|
|
||||||
|
- Failure return -1
|
||||||
|
- Success return int
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> image = RL_LoadImageFromScreen()
|
||||||
|
|
||||||
|
Load image from screen buffer and ( screenshot )
|
||||||
|
|
||||||
|
- Success return int
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
> image = RL_GenImageColor( int width, int height, Color color )
|
> image = RL_GenImageColor( int width, int height, Color color )
|
||||||
|
|
||||||
Generate image: plain color
|
Generate image: plain color
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ bool validSourceTexture( size_t id );
|
|||||||
Texture2D* texturesGetSourceTexture( size_t index );
|
Texture2D* texturesGetSourceTexture( size_t index );
|
||||||
/* File. */
|
/* File. */
|
||||||
int ltexturesLoadImage( lua_State *L );
|
int ltexturesLoadImage( lua_State *L );
|
||||||
|
int ltexturesLoadImageFromTexture( lua_State *L );
|
||||||
|
int ltexturesLoadImageFromScreen( lua_State *L );
|
||||||
int ltexturesGenImageColor( lua_State *L );
|
int ltexturesGenImageColor( lua_State *L );
|
||||||
int ltexturesUnloadImage( lua_State *L );
|
int ltexturesUnloadImage( lua_State *L );
|
||||||
int ltexturesExportImage( lua_State *L );
|
int ltexturesExportImage( lua_State *L );
|
||||||
|
|||||||
@@ -519,6 +519,8 @@ void luaRegister() {
|
|||||||
/* Textures. */
|
/* Textures. */
|
||||||
/* File. */
|
/* File. */
|
||||||
lua_register( L, "RL_LoadImage", ltexturesLoadImage );
|
lua_register( L, "RL_LoadImage", ltexturesLoadImage );
|
||||||
|
lua_register( L, "RL_LoadImageFromTexture", ltexturesLoadImageFromTexture );
|
||||||
|
lua_register( L, "RL_LoadImageFromScreen", ltexturesLoadImageFromScreen );
|
||||||
lua_register( L, "RL_GenImageColor", ltexturesGenImageColor );
|
lua_register( L, "RL_GenImageColor", ltexturesGenImageColor );
|
||||||
lua_register( L, "RL_UnloadImage", ltexturesUnloadImage );
|
lua_register( L, "RL_UnloadImage", ltexturesUnloadImage );
|
||||||
lua_register( L, "RL_ExportImage", ltexturesExportImage );
|
lua_register( L, "RL_ExportImage", ltexturesExportImage );
|
||||||
|
|||||||
@@ -142,6 +142,66 @@ int ltexturesLoadImage( lua_State *L ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
> image = RL_LoadImageFromTexture( Texture2D texture )
|
||||||
|
|
||||||
|
Load image from GPU texture data
|
||||||
|
|
||||||
|
- Failure return -1
|
||||||
|
- Success return int
|
||||||
|
*/
|
||||||
|
int ltexturesLoadImageFromTexture( lua_State *L ) {
|
||||||
|
if ( !lua_isnumber( L, -1 ) ) {
|
||||||
|
TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_LoadImageFromTexture( Texture2D texture )" );
|
||||||
|
lua_pushinteger( L, -1 );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t texId = lua_tointeger( L, -1 );
|
||||||
|
|
||||||
|
if ( !validSourceTexture( texId ) ) {
|
||||||
|
lua_pushinteger( L, -1 );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
for ( i = 0; i < state->imageCount; i++ ) {
|
||||||
|
if ( state->images[i] == NULL ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state->images[i] = malloc( sizeof( Image ) );
|
||||||
|
*state->images[i] = LoadImageFromTexture( *texturesGetSourceTexture( texId ) );
|
||||||
|
lua_pushinteger( L, i );
|
||||||
|
checkImageRealloc( i );
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
> image = RL_LoadImageFromScreen()
|
||||||
|
|
||||||
|
Load image from screen buffer and ( screenshot )
|
||||||
|
|
||||||
|
- Success return int
|
||||||
|
*/
|
||||||
|
int ltexturesLoadImageFromScreen( lua_State *L ) {
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
for ( i = 0; i < state->imageCount; i++ ) {
|
||||||
|
if ( state->images[i] == NULL ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state->images[i] = malloc( sizeof( Image ) );
|
||||||
|
*state->images[i] = LoadImageFromScreen();
|
||||||
|
lua_pushinteger( L, i );
|
||||||
|
checkImageRealloc( i );
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
> image = RL_GenImageColor( int width, int height, Color color )
|
> image = RL_GenImageColor( int width, int height, Color color )
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user