【发布时间】:2014-10-02 21:14:50
【问题描述】:
我正在尝试用java创建一个图像编辑器,但是当我运行代码时,输出的图像是完全透明的。
这是我的 Main.java 代码:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) {
BufferedImage image = null;
try {
image = ImageIO.read(new File("strawberry.png"));
} catch (IOException e) {
System.out.println(e);
}
new Negative(image);
File outputfile = new File("saved.png");
try {
ImageIO.write(image, "png", outputfile);
} catch (IOException e) {
System.out.println(e);
}
}
}
这是我的 Negative.java 代码:
import java.awt.image.BufferedImage;
public class Negative {
public Negative(BufferedImage img) {
for (int x = 0; x < img.getWidth(); ++x) {
for (int y = 0; y < img.getHeight(); ++y) {
int rgb = img.getRGB(x, y);
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = (rgb & 0xFF);
r = 255 - r;
g = 255 - g;
b = 255 - b;
int newColour = (r << 16) + (g << 8) + (b << 4);
img.setRGB(x, y, newColour);
}
}
}
}
如果有人能帮忙,我将不胜感激。
【问题讨论】:
-
您创建了一个只有一个构造函数的类,并调用了该构造函数 Oo ... 只是将否定方法设为不需要类。与您的问题无关,但是,修复它跨度>
标签: java transparency bufferedimage