我想制作一个程序,它可以拍摄图像并在其上制作漂亮的效果。效果就像模糊或类似的东西,我想我理论上知道该怎么做,但我不知道如何获取图像数据并实际更改它,而不是保存一个全新的图像。
我知道每个由像素组成的图像以及其中一个具有自己的颜色。我的问题是如何加载图像文本源(?)或如何获取有关图像像素的信息,然后更改此信息并将此数据保存为新图像。我正在使用java。
BufferedImage是您正在寻找的。您可以使用ImageIOBufferedImage
从文件系统(或其他位置)读取图像来创建实例
BufferedImage image = ImageIO.read(getClass().getResource("../images/exmaple.jpg"));
// get red/green/blue/alpha value for pixel at position (10,20)
int rgb = image.getRGB(10, 20);
更改值可以使用setRGB()
. 然后可以使用 . 将更新的图像保存到文件中ImageIO.write()
。
检查 ImageFilter 和子类(例如 BufferedImageFilter)。根据所需的输出格式,您可能需要一个外部库来在转换后保存图像。