|
@@ -1075,40 +1075,10 @@ void ImageResizeCanvas(Image *image, int newWidth,int newHeight, int offsetX, in
|
|
|
Rectangle srcRec = { 0, 0, image->width, image->height };
|
|
|
Rectangle dstRec = { offsetX, offsetY, srcRec.width, srcRec.height };
|
|
|
|
|
|
+ // TODO: Review different scaling situations
|
|
|
+
|
|
|
if ((newWidth > image->width) && (newHeight > image->height))
|
|
|
{
|
|
|
- // Consider anchor properly
|
|
|
- /*
|
|
|
- switch (anchor)
|
|
|
- {
|
|
|
- case 0: break; // TOP-LEFT corner --> dstRec = srcRec
|
|
|
- case 1: dstRec.x = (newWidth - image->width)/2; break; // TOP side
|
|
|
- case 2: dstRec.x = newWidth - image->width; break; // TOP-RIGHT corner
|
|
|
- case 3: dstRec.y = (newHeight - image->height)/2; break; // LEFT side
|
|
|
- case 4: // CENTER
|
|
|
- {
|
|
|
- dstRec.x = (newWidth - image->width)/2;
|
|
|
- dstRec.y = (newHeight - image->height)/2;
|
|
|
- } break;
|
|
|
- case 5: // RIGHT side
|
|
|
- {
|
|
|
- dstRec.x = newWidth - image->width;
|
|
|
- dstRec.y = (newHeight - image->height)/2;
|
|
|
- } break;
|
|
|
- case 6: dstRec.y = newHeight - image->height; break; // BOTTOM-LEFT corner
|
|
|
- case 7: // BOTTOM side
|
|
|
- {
|
|
|
- dstRec.x = (newWidth - image->width)/2;
|
|
|
- dstRec.y = newHeight - image->height;
|
|
|
- } break;
|
|
|
- case 8: // BOTTOM-RIGHT side
|
|
|
- {
|
|
|
- dstRec.x = newWidth - image->width;
|
|
|
- dstRec.y = newHeight - image->height;
|
|
|
- } break;
|
|
|
- default: break;
|
|
|
- }
|
|
|
- */
|
|
|
ImageDraw(&imTemp, *image, srcRec, dstRec);
|
|
|
ImageFormat(&imTemp, image->format);
|
|
|
UnloadImage(*image);
|
|
@@ -1325,7 +1295,6 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec)
|
|
|
{
|
|
|
srcRec.height = src.height - srcRec.y;
|
|
|
TraceLog(LOG_WARNING, "Source rectangle height out of bounds, rescaled height: %i", srcRec.height);
|
|
|
- cropRequired = true;
|
|
|
}
|
|
|
|
|
|
Image srcCopy = ImageCopy(src); // Make a copy of source image to work with it
|
|
@@ -1337,10 +1306,7 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec)
|
|
|
if (dstRec.y < 0) dstRec.y = 0;
|
|
|
|
|
|
// Scale source image in case destination rec size is different than source rec size
|
|
|
- if ((dstRec.width != srcRec.width) || (dstRec.height != srcRec.height))
|
|
|
- {
|
|
|
- ImageResize(&srcCopy, dstRec.width, dstRec.height);
|
|
|
- }
|
|
|
+ if ((dstRec.width != srcRec.width) || (dstRec.height != srcRec.height)) ImageResize(&srcCopy, dstRec.width, dstRec.height);
|
|
|
|
|
|
if ((dstRec.x + dstRec.width) > dst->width)
|
|
|
{
|