簡體   English   中英

如何使用java在現有的png圖像上繪制矩形

[英]How do I draw a rectangle on an existing png image using java

我有保存在本地 PC 中的 png 圖像。 我想打開(加載)這個圖像並使用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);

您使用 2D 圖形 API

BufferedImage img = ImageIO.read(...);
Graphics2D g2d = img.createGraphics();
g2d.setColor(Color.RED);
g2d.drawRect(0, 0, 100, 100);
g2d.dispose();

看一眼

更多細節

對於任何嘗試實施此解決方案的人來說,這只是一個提示:

為了將更改實際保存到圖像中,您需要添加幾行:

[...]
g2d.dispose();
try {
    ImageIO.write(img, "png", image_file);
} catch (Exception e) {
    System.out.println("[ERROR] Could not save image.");
}

其中 image_file = 您打開的文件(大概與您在 ImageIO.read 中使用的文件相同)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM