Added function: ImageColorReplace()
This commit is contained in:
parent
7b971e0623
commit
74fd0e7ca4
4 changed files with 32 additions and 0 deletions
|
@ -937,6 +937,7 @@ RLAPI void ImageColorInvert(Image *image);
|
|||
RLAPI void ImageColorGrayscale(Image *image); // Modify image color: grayscale
|
||||
RLAPI void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100)
|
||||
RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
|
||||
RLAPI void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
|
||||
|
||||
// Image generation functions
|
||||
RLAPI Image GenImageColor(int width, int height, Color color); // Generate image: plain color
|
||||
|
|
Binary file not shown.
|
@ -937,6 +937,7 @@ RLAPI void ImageColorInvert(Image *image);
|
|||
RLAPI void ImageColorGrayscale(Image *image); // Modify image color: grayscale
|
||||
RLAPI void ImageColorContrast(Image *image, float contrast); // Modify image color: contrast (-100 to 100)
|
||||
RLAPI void ImageColorBrightness(Image *image, int brightness); // Modify image color: brightness (-255 to 255)
|
||||
RLAPI void ImageColorReplace(Image *image, Color color, Color replace); // Modify image color: replace color
|
||||
|
||||
// Image generation functions
|
||||
RLAPI Image GenImageColor(int width, int height, Color color); // Generate image: plain color
|
||||
|
|
|
@ -1901,6 +1901,36 @@ void ImageColorBrightness(Image *image, int brightness)
|
|||
|
||||
image->data = processed.data;
|
||||
}
|
||||
|
||||
// Modify image color: replace color
|
||||
void ImageColorReplace(Image *image, Color color, Color replace)
|
||||
{
|
||||
Color *pixels = GetImageData(*image);
|
||||
|
||||
for (int y = 0; y < image->height; y++)
|
||||
{
|
||||
for (int x = 0; x < image->width; x++)
|
||||
{
|
||||
if ((pixels[y*image->width + x].r == color.r) &&
|
||||
(pixels[y*image->width + x].g == color.g) &&
|
||||
(pixels[y*image->width + x].b == color.b) &&
|
||||
(pixels[y*image->width + x].a == color.a))
|
||||
{
|
||||
pixels[y*image->width + x].r = replace.r;
|
||||
pixels[y*image->width + x].g = replace.g;
|
||||
pixels[y*image->width + x].b = replace.b;
|
||||
pixels[y*image->width + x].a = replace.a;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Image processed = LoadImageEx(pixels, image->width, image->height);
|
||||
ImageFormat(&processed, image->format);
|
||||
UnloadImage(*image);
|
||||
free(pixels);
|
||||
|
||||
image->data = processed.data;
|
||||
}
|
||||
#endif // SUPPORT_IMAGE_MANIPULATION
|
||||
|
||||
#if defined(SUPPORT_IMAGE_GENERATION)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue