使用DrJava - 如何加载和更改jpeg?

时间:2011-10-28 05:02:41

标签: java computer-science

我是一个完整的编程初学者,我一直试图解决这个问题,但我迷失了。有一些不同版本的问题,但我想我可以在我有一个完成的代码之后解决剩下的问题,所以我只是解释一下。第一部分要求使用DrJava编写程序,该程序将显示图像,等待用户响应,然后将图像缩小为每个颜色通道只有4个级别。它接着说:

“我们想要做的是将每个颜色通道从0-255(8位)范围缩小到0-3(2位)。我们可以通过将颜色通道值除以64来实现。但是,因为我们的实际显示器仍然使用每个颜色通道1个字节,所以0-3的值看起来都非常像黑色(非常低的颜色强度)。为了使它看起来正确,我们需要将值缩放回原始范围(乘以64)。注意,如果使用整数除法,这意味着只会出现4个颜色通道值:0,64,128和192,模仿2位颜色。“

我甚至没有到达我应该放置图片并从中加载的地方。基本上我需要它解释,就像我五岁。提前谢谢!

1 个答案:

答案 0 :(得分:1)

Java API文档将是您最好的资源。

您可以通过ImageIO.read(File)函数读取BufferedImage。

BufferedImage是一个Image,因此您可以将它显示为JLabel或JButton的一部分。

可以使用不同的ColorModel,RGB,BGR,ARGB,每种颜色一个字节,索引颜色等创建BufferedImage。在这里,您要将一个BufferedImage复制到另一个Colormodel。

基本上你可以使用不同的ColorModel创建一个新的BufferedImage,调用:

Graphics g = otherImg.getGraphics();
g.drawImage(originalImg, ...);
ImageIO.write(otherImg, ...);