mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
Added: ImageResizeCanvas() -WIP-
Added note idea on ImageFormat() for future redesign (to support 16bit-32bit pixel-formats)
This commit is contained in:
@ -664,6 +664,7 @@ void ImageFormat(Image *image, int newFormat)
|
||||
if ((image->format < COMPRESSED_DXT1_RGB) && (newFormat < COMPRESSED_DXT1_RGB))
|
||||
{
|
||||
Color *pixels = GetImageData(*image);
|
||||
//Vector4 *pixels = GetImageDataNormalized(*image); // TODO: Support 8->32bit channels
|
||||
|
||||
free(image->data); // WARNING! We loose mipmaps data --> Regenerated at the end...
|
||||
image->data = NULL;
|
||||
@ -1066,6 +1067,20 @@ void ImageResizeNN(Image *image,int newWidth,int newHeight)
|
||||
free(pixels);
|
||||
}
|
||||
|
||||
// Resize canvas, using anchor point and color filling
|
||||
void ImageResizeCanvas(Image *image, int newWidth,int newHeight, int anchor, Color color)
|
||||
{
|
||||
Image imTemp = GenImageColor(newWidth, newHeight, color);
|
||||
Rectangle rec = { 0, 0, image->width, image->height };
|
||||
|
||||
// TODO: consider anchor properly
|
||||
|
||||
ImageDraw(&imTemp, *image, rec, rec);
|
||||
ImageFormat(&imTemp, image->format);
|
||||
UnloadImage(*image);
|
||||
*image = imTemp;
|
||||
}
|
||||
|
||||
// Generate all mipmap levels for a provided image
|
||||
// NOTE 1: Supports POT and NPOT images
|
||||
// NOTE 2: image.data is scaled to include mipmap levels
|
||||
|
||||
Reference in New Issue
Block a user