我有png图像,保存在我的本地PC中。 我想打开(加载)此图像,并使用java在此图像@指定位置(x,y,宽度,高度)上绘制一个矩形。任何人都可以帮我这样做......
等效C#代码如下。我想要一个相同的java版本
Image oriImage = // load from file
Rectangle rect = new Rectangle(0, 1824, 1080, 96);
Bitmap eleImg = new Bitmap(oriImage, (int)(oriImage.Width / rate), (int)(oriImage.Height / rate));
Graphics g = Graphics.FromImage(eleImg);
g.DrawRectangle(new Pen(Color.Red, 5), rect);
答案 0 :(得分:6)
您使用2D图形API
BufferedImage img = ImageIO.read(...);
Graphics2D g2d = img.createGraphics();
g2d.setColor(Color.RED);
g2d.drawRect(0, 0, 100, 100);
g2d.dispose();
看看
了解更多详情
答案 1 :(得分:0)
对于任何尝试实施此解决方案的人来说都是一个提示:
为了将更改实际保存到图像,您需要添加几行:
[...]
g2d.dispose();
try {
ImageIO.write(img, "png", image_file);
} catch (Exception e) {
System.out.println("[ERROR] Could not save image.");
}
其中image_file =您打开的文件(大概与ImageIO.read中使用的文件相同)