Java 将图像大小调整为定义的尺寸,并将未使用的区域涂成红色?

Java 将图像大小调整为定义的尺寸,并将未使用的区域涂成红色?,java,groovy,image-resizing,image-scaling,Java,Groovy,Image Resizing,Image Scaling,以下所有操作都发生在服务器端。我想缩放图像,如下所示 应缩放图像以适应预定义的尺寸。图像应缩放以适合边框。我知道如何使用Java库(如ImageScaler)缩放图像。缩放后,应在目标尺寸矩形中绘制图像,并且图像未填充目标矩形的位置应绘制为红色,如下图所示: 如何将图像绘制成目标矩形并用红色填充没有图像的区域?创建一个缓冲图像,它是所需区域框的边界 // 100x100 is the desired bounding box of the scaled area // Change this

以下所有操作都发生在服务器端。我想缩放图像,如下所示

应缩放图像以适应预定义的尺寸。图像应缩放以适合边框。我知道如何使用Java库(如ImageScaler)缩放图像。缩放后,应在目标尺寸矩形中绘制图像,并且图像未填充目标矩形的位置应绘制为红色,如下图所示:


如何将图像绘制成目标矩形并用红色填充没有图像的区域?

创建一个
缓冲图像
,它是所需区域框的边界

// 100x100 is the desired bounding box of the scaled area
// Change this for the actual area you want to use
BufferedImage scaledArea = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
使用
BufferedImage
Graphics
上下文,用所需颜色填充图像

Graphics2D g2d = scaledArea.createGraphics();
g2d.setColor(Color.RED);
g2d.fillRect(0, 0, 100, 100);
将缩放图像绘制到此图像中

// 100x100 is the desired bounding box of the scaled area
// Change this for the actual area you want to use
int x = (100 - scaled.getWidth()) / 2;
int y = (100 - scaled.getHeight()) / 2;
g2d.drawImage(scaled, x, y, null);
g2d.dispose();
然后您可以使用
ImageIO.write
保存结果

看一看
有关详细信息

请使用
缓冲图像
,将该区域填充为
颜色.红色
,并在其中绘制缩放图像。请查看以了解更多详细信息