gpt4 book ai didi

java - 使用 java 进行图像处理

转载 作者:行者123 更新时间:2023-11-29 04:01:01 24 4
gpt4 key购买 nike

我正在尝试创建一个程序来生成用作多屏幕背景的图像,我这样做是针对 Windows(在我的例子中,7 这样基本上我可以在不看到相同图像的情况下更改图像在两个不同的屏幕上)

在我的程序中,我读取多个图像输入文件并将它们编译成一个输出图像,该图像是桌面的总大小(包括屏幕上看不到的黑色区域)

我的问题是,什么类/方法适合在 Java 中裁剪/调整大小/粘贴到新图像中,因为我遇到了很多图像处理类,它们似乎都做一件小事。

除了调整大小或裁剪之外,我不会修改任何图像并将其放入新图像(最初为空白)中的特定位置。

可以提供代码,因为我计划在稍后的某个时间发布它,供可能喜欢/需要它的人使用。

提前谢谢你,如果这个问题得到了回答,我很抱歉,但我确实四处看看。

最佳答案

我不知道这是否是最好的方法,但它很简单:

// load an image
Image image = javax.imageio.ImageIO.read(new File("someimage.png");
// resize it
image = image.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
// create a new image to render to
BufferedImage newimg = new BufferedImage(200,100,BufferedImage.TYPE_INT_ARGB);
// get graphics to draw..
Graphics2D graphics =newimg.createGraphics();
//draw the other image on it
graphics.drawImage(image,0,0,null);
graphics.drawImage(image,100,0,null);
graphics.fillOval(20,20,40,40); //making it a bit ugly ;)
//export the new image
ImageIO.write(newimg,"png",new File("output.png"));
//done!

为简单起见,我删除了所有检查、异常处理等。

关于java - 使用 java 进行图像处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3629601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com