raylib-cpp
C++ object-oriented wrapper library for raylib.
Public Member Functions | Static Public Member Functions | List of all members
raylib::Image Class Reference

Image type, bpp always RGBA (32bit) More...

Public Member Functions

 Image (const ::Font &font, const std::string &text, float fontSize, float spacing, ::Color tint={255, 255, 255, 255})
 
 Image (const ::Image &image)
 
 Image (const ::Texture2D &texture)
 Load an image from the given file. More...
 
 Image (const Image &other)
 
 Image (const std::string &fileName)
 Load an image from the given file. More...
 
 Image (const std::string &fileName, int *frames)
 Load an animation image from the given file. More...
 
 Image (const std::string &fileName, int width, int height, int format, int headerSize)
 Load a raw image from the given file, with the provided width, height, and formats. More...
 
 Image (const std::string &fileType, const unsigned char *fileData, int dataSize)
 Load an image from the given file. More...
 
 Image (const std::string &text, int fontSize, ::Color color={255, 255, 255, 255})
 
 Image (Image &&other)
 
 Image (int width, int height, ::Color color={255, 255, 255, 255})
 
 Image (void *data=nullptr, int width=0, int height=0, int mipmaps=0, int format=0)
 
ImageAlphaClear (::Color color, float threshold)
 Clear alpha channel to desired color.
 
ImageAlphaCrop (float threshold)
 Crop image depending on alpha value.
 
ImageAlphaMask (const ::Image &alphaMask)
 Apply alpha mask to image.
 
ImageAlphaPremultiply ()
 Premultiply alpha channel.
 
ImageClearBackground (::Color color={0, 0, 0, 255})
 Clear image background with given color.
 
ImageColorBrightness (int brightness)
 Modify image color: brightness. More...
 
ImageColorContrast (float contrast)
 Modify image color: contrast. More...
 
ImageColorGrayscale ()
 Modify image color: grayscale.
 
ImageColorInvert ()
 Modify image color: invert.
 
ImageColorReplace (::Color color, ::Color replace)
 Modify image color: replace color.
 
ImageColorTint (::Color color={255, 255, 255, 255})
 Modify image color: tint.
 
inline ::Image Copy () const
 Create an image duplicate (useful for transformations)
 
ImageCrop (::Rectangle crop)
 Crop an image to area defined by a rectangle.
 
ImageCrop (::Vector2 size)
 Crop an image to a new given width and height based on a vector.
 
ImageCrop (int newWidth, int newHeight)
 Crop an image to a new given width and height.
 
ImageCrop (int offsetX, int offsetY, int newWidth, int newHeight)
 Crop an image to area defined by a rectangle.
 
ImageDither (int rBpp, int gBpp, int bBpp, int aBpp)
 Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
 
ImageDraw (const ::Image &src, ::Rectangle srcRec, ::Rectangle dstRec, ::Color tint={255, 255, 255, 255})
 
ImageDrawCircle (::Vector2 center, int radius, ::Color color={255, 255, 255, 255})
 
ImageDrawCircle (int centerX, int centerY, int radius, ::Color color={255, 255, 255, 255})
 
ImageDrawLine (::Vector2 start, ::Vector2 end, ::Color color={255, 255, 255, 255})
 
ImageDrawLine (int startPosX, int startPosY, int endPosX, int endPosY, ::Color color={255, 255, 255, 255})
 
ImageDrawPixel (::Vector2 position, ::Color color={255, 255, 255, 255})
 
ImageDrawPixel (int posX, int posY, ::Color color={255, 255, 255, 255})
 Draw pixel within an image.
 
ImageDrawRectangle (::Rectangle rec, ::Color color={255, 255, 255, 255})
 
ImageDrawRectangle (int posX, int posY, int width, int height, ::Color color={255, 255, 255, 255})
 
ImageDrawRectangle (Vector2 position, Vector2 size, ::Color color={255, 255, 255, 255})
 
ImageDrawRectangleLines (::Rectangle rec, int thick=1, ::Color color={255, 255, 255, 255})
 
ImageDrawText (const ::Font &font, const std::string &text, ::Vector2 position, float fontSize, float spacing, ::Color tint={255, 255, 255, 255})
 
ImageDrawText (const std::string &text, ::Vector2 position, int fontSize, ::Color color={255, 255, 255, 255})
 
ImageDrawText (const std::string &text, int x, int y, int fontSize, ::Color color={255, 255, 255, 255})
 
bool Export (const std::string &fileName) const
 Export image data to file, returns true on success.
 
bool ExportAsCode (const std::string &fileName) const
 Export image as code file defining an array of bytes, returns true on success.
 
ImageFlipHorizontal ()
 Flip image horizontally.
 
ImageFlipVertical ()
 Flip image vertically.
 
ImageFormat (int newFormat)
 Convert image data to desired format.
 
inline ::Image FromImage (::Rectangle rec) const
 Create an image from another image piece.
 
Rectangle GetAlphaBorder (float threshold) const
 Get image alpha border rectangle. More...
 
void * GetData () const
 Retrieves the data value for the object. More...
 
int GetFormat () const
 Retrieves the format value for the object. More...
 
int GetHeight () const
 Retrieves the height value for the object. More...
 
int GetMipmaps () const
 Retrieves the mipmaps value for the object. More...
 
int GetPixelDataSize () const
 Returns the pixel data size based on the current image. More...
 
inline ::Vector2 GetSize () const
 Retrieve the width and height of the image.
 
int GetWidth () const
 Retrieves the width value for the object. More...
 
bool IsReady () const
 Retrieve whether or not the Image has been loaded. More...
 
bool Load (const ::Texture2D &texture)
 Load an image from the given file. More...
 
bool Load (const std::string &fileName)
 Load image from file into CPU memory (RAM) More...
 
bool Load (const std::string &fileName, int *frames)
 Load image sequence from file (frames appended to image.data). More...
 
bool Load (const std::string &fileName, int width, int height, int format, int headerSize)
 Load image from RAW file data. More...
 
bool Load (const std::string &fileType, const unsigned char *fileData, int dataSize)
 Load image from memory buffer, fileType refers to extension: i.e. More...
 
inline ::ColorLoadColors () const
 Load color data from image as a Color array (RGBA - 32bit)
 
inline ::ColorLoadPalette (int maxPaletteSize, int *colorsCount) const
 Load colors palette from image as a Color array (RGBA - 32bit)
 
inline ::Texture2D LoadTexture () const
 Load texture from image data.
 
ImageMipmaps ()
 Generate all mipmap levels for a provided image.
 
 operator::Texture2D ()
 Loads a texture from the image data. More...
 
Imageoperator= (const ::Image &image)
 
Imageoperator= (const Image &other)
 
Imageoperator= (Image &&other)
 
ImageResize (int newWidth, int newHeight)
 Resize and image to new size.
 
ImageResizeCanvas (int newWidth, int newHeight, int offsetX=0, int offsetY=0, ::Color color={255, 255, 255, 255})
 Resize canvas and fill with color.
 
ImageResizeNN (int newWidth, int newHeight)
 Resize and image to new size using Nearest-Neighbor scaling algorithm.
 
ImageRotateCCW ()
 Rotate image counter-clockwise 90deg.
 
ImageRotateCW ()
 Rotate image clockwise 90deg.
 
void SetData (void *value)
 Sets the data value for the object. More...
 
void SetFormat (int value)
 Sets the format value for the object. More...
 
void SetHeight (int value)
 Sets the height value for the object. More...
 
void SetMipmaps (int value)
 Sets the mipmaps value for the object. More...
 
void SetWidth (int value)
 Sets the width value for the object. More...
 
ImageToPOT (::Color fillColor)
 Convert image to POT (power-of-two)
 
void Unload ()
 Unload image from CPU memory (RAM)
 
void UnloadColors (::Color *colors) const
 Unload color data loaded with LoadImageColors()
 
void UnloadPalette (::Color *colors) const
 Unload colors palette loaded with LoadImagePalette()
 

Static Public Member Functions

::Image Cellular (int width, int height, int tileSize)
 Generate image: cellular algorithm. More...
 
::Image Checked (int width, int height, int checksX, int checksY, ::Color col1={255, 255, 255, 255}, ::Color col2={0, 0, 0, 255})
 Generate image: checked.
 
::Image Color (int width, int height, ::Color color={255, 255, 255, 255})
 Generate image: plain color.
 
static int GetPixelDataSize (int width, int height, int format=PIXELFORMAT_UNCOMPRESSED_R32G32B32A32)
 Get pixel data size in bytes for certain format.
 
::Image GradientH (int width, int height, ::Color left, ::Color right)
 Generate image: horizontal gradient.
 
::Image GradientRadial (int width, int height, float density, ::Color inner, ::Color outer)
 Generate image: radial gradient.
 
::Image GradientV (int width, int height, ::Color top, ::Color bottom)
 Generate image: vertical gradient.
 
::Image LoadFromScreen ()
 Get pixel data from screen buffer and return an Image (screenshot)
 
::Image Text (const ::Font &font, const std::string &text, float fontSize, float spacing, ::Color tint={255, 255, 255, 255})
 
::Image Text (const std::string &text, int fontSize, ::Color color={255, 255, 255, 255})
 
::Image WhiteNoise (int width, int height, float factor)
 Generate image: white noise.
 

Detailed Description

Image type, bpp always RGBA (32bit)

Data stored in CPU memory (RAM)

Definition at line 16 of file Image.hpp.

Constructor & Destructor Documentation

◆ Image() [1/5]

raylib::Image::Image ( const std::string &  fileName)
inline

Load an image from the given file.

Exceptions
raylib::RaylibExceptionThrown if the image failed to load from the file.
See also
Load()

Definition at line 37 of file Image.hpp.

References Load().

◆ Image() [2/5]

raylib::Image::Image ( const std::string &  fileName,
int  width,
int  height,
int  format,
int  headerSize 
)
inline

Load a raw image from the given file, with the provided width, height, and formats.

Exceptions
raylib::RaylibExceptionThrown if the image failed to load from the file.
See also
LoadRaw()

Definition at line 50 of file Image.hpp.

References Load().

◆ Image() [3/5]

raylib::Image::Image ( const std::string &  fileName,
int *  frames 
)
inline

Load an animation image from the given file.

Exceptions
raylib::RaylibExceptionThrown if the image failed to load from the file.
See also
LoadAnim()

Definition at line 63 of file Image.hpp.

References Load().

◆ Image() [4/5]

raylib::Image::Image ( const std::string &  fileType,
const unsigned char *  fileData,
int  dataSize 
)
inline

Load an image from the given file.

Exceptions
raylib::RaylibExceptionThrown if the image failed to load from the file.

Definition at line 74 of file Image.hpp.

References Load().

◆ Image() [5/5]

raylib::Image::Image ( const ::Texture2D texture)
inline

Load an image from the given file.

Exceptions
raylib::RaylibExceptionThrown if the image failed to load from the file.

Definition at line 85 of file Image.hpp.

References Load().

Member Function Documentation

◆ Cellular()

::Image raylib::Image::Cellular ( int  width,
int  height,
int  tileSize 
)
inlinestatic

Generate image: cellular algorithm.

Bigger tileSize means bigger cells

Definition at line 182 of file Image.hpp.

◆ ColorBrightness()

Image& raylib::Image::ColorBrightness ( int  brightness)
inline

Modify image color: brightness.

Parameters
brightnessBrightness values between -255 and 255

Definition at line 534 of file Image.hpp.

◆ ColorContrast()

Image& raylib::Image::ColorContrast ( float  contrast)
inline

Modify image color: contrast.

Parameters
contrastContrast values between -100 and 100

Definition at line 524 of file Image.hpp.

◆ GetAlphaBorder()

Rectangle raylib::Image::GetAlphaBorder ( float  threshold) const
inline

Get image alpha border rectangle.

Parameters
thresholdThreshold is defined as a percentatge: 0.0f -> 1.0f

Definition at line 552 of file Image.hpp.

◆ GetData()

void* raylib::Image::GetData ( ) const
inline

Retrieves the data value for the object.

Returns
The data value of the object.

Definition at line 311 of file Image.hpp.

◆ GetFormat()

int raylib::Image::GetFormat ( ) const
inline

Retrieves the format value for the object.

Returns
The format value of the object.

Definition at line 315 of file Image.hpp.

◆ GetHeight()

int raylib::Image::GetHeight ( ) const
inline

Retrieves the height value for the object.

Returns
The height value of the object.

Definition at line 313 of file Image.hpp.

◆ GetMipmaps()

int raylib::Image::GetMipmaps ( ) const
inline

Retrieves the mipmaps value for the object.

Returns
The mipmaps value of the object.

Definition at line 314 of file Image.hpp.

◆ GetPixelDataSize()

int raylib::Image::GetPixelDataSize ( ) const
inline

Returns the pixel data size based on the current image.

Returns
The pixel data size of the image.

Definition at line 708 of file Image.hpp.

◆ GetWidth()

int raylib::Image::GetWidth ( ) const
inline

Retrieves the width value for the object.

Returns
The width value of the object.

Definition at line 312 of file Image.hpp.

◆ IsReady()

bool raylib::Image::IsReady ( ) const
inline

Retrieve whether or not the Image has been loaded.

Returns
True or false depending on whether the Image has been loaded.

Definition at line 717 of file Image.hpp.

Referenced by Load().

◆ Load() [1/5]

bool raylib::Image::Load ( const ::Texture2D texture)
inline

Load an image from the given file.

Returns
True or false depending on whether or not the image was loaded from the texture.
See also
::LoadImageFromTexture()

Definition at line 281 of file Image.hpp.

References IsReady().

◆ Load() [2/5]

bool raylib::Image::Load ( const std::string &  fileName)
inline

Load image from file into CPU memory (RAM)

Returns
Whether or not the image was loaded successfully.
See also
LoadImage()

Definition at line 230 of file Image.hpp.

References IsReady(), and raylib::LoadImage().

Referenced by Image().

◆ Load() [3/5]

bool raylib::Image::Load ( const std::string &  fileName,
int *  frames 
)
inline

Load image sequence from file (frames appended to image.data).

Returns
Whether or not the image animation was loaded successfully.
See also
LoadImageAnim()

Definition at line 254 of file Image.hpp.

References IsReady(), and raylib::LoadImageAnim().

◆ Load() [4/5]

bool raylib::Image::Load ( const std::string &  fileName,
int  width,
int  height,
int  format,
int  headerSize 
)
inline

Load image from RAW file data.

Returns
Whether or not the raw image data was loaded successfully.
See also
LoadImageRaw()

Definition at line 242 of file Image.hpp.

References IsReady(), and raylib::LoadImageRaw().

◆ Load() [5/5]

bool raylib::Image::Load ( const std::string &  fileType,
const unsigned char *  fileData,
int  dataSize 
)
inline

Load image from memory buffer, fileType refers to extension: i.e.

"png".

Returns
Whether or not the image data was loaded successfully.
See also
LoadImageFromMemory()

Definition at line 266 of file Image.hpp.

References IsReady(), and raylib::LoadImageFromMemory().

◆ operator::Texture2D()

raylib::Image::operator::Texture2D ( )
inline

Loads a texture from the image data.

See also
LoadTexture()

Definition at line 692 of file Image.hpp.

References LoadTexture().

◆ SetData()

void raylib::Image::SetData ( void *  value)
inline

Sets the data value for the object.

Parameters
valueThe value of which to set data to.

Definition at line 311 of file Image.hpp.

◆ SetFormat()

void raylib::Image::SetFormat ( int  value)
inline

Sets the format value for the object.

Parameters
valueThe value of which to set format to.

Definition at line 315 of file Image.hpp.

◆ SetHeight()

void raylib::Image::SetHeight ( int  value)
inline

Sets the height value for the object.

Parameters
valueThe value of which to set height to.

Definition at line 313 of file Image.hpp.

◆ SetMipmaps()

void raylib::Image::SetMipmaps ( int  value)
inline

Sets the mipmaps value for the object.

Parameters
valueThe value of which to set mipmaps to.

Definition at line 314 of file Image.hpp.

◆ SetWidth()

void raylib::Image::SetWidth ( int  value)
inline

Sets the width value for the object.

Parameters
valueThe value of which to set width to.

Definition at line 312 of file Image.hpp.