Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用DrJava-如何加载和更改jpeg?_Java_Computer Science - Fatal编程技术网

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

使用DrJava-如何加载和更改jpeg?,java,computer-science,Java,Computer Science,我是一个完全的编程新手,我一直在努力解决这个问题,但我迷路了。这个问题有几个不同的版本,但我想在我完成一段代码后,我可以解决剩下的问题,所以我只想解释一下。第一部分要求编写一个程序,使用该程序显示图像,等待用户响应,然后将图像减少到每个颜色通道只有4个级别。它接着说: “我们要做的是将每个颜色通道的范围从0-255(8位)减少到0-3(2位)。我们可以将颜色通道值除以64。但是,由于我们的实际显示仍然使用每个颜色通道1个字节,因此0-3的值看起来都非常像黑色(颜色强度非常低)。要使其看起来正确,

我是一个完全的编程新手,我一直在努力解决这个问题,但我迷路了。这个问题有几个不同的版本,但我想在我完成一段代码后,我可以解决剩下的问题,所以我只想解释一下。第一部分要求编写一个程序,使用该程序显示图像,等待用户响应,然后将图像减少到每个颜色通道只有4个级别。它接着说:

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


我甚至都不知道我应该把照片放在哪里,然后从哪里下载。基本上我需要解释一下,就像我五岁一样。提前谢谢

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

可以通过函数ImageIO.read(文件)读取缓冲区映像

BuffereImage是一个图像,因此您可以将其显示为JLabel或JButton的一部分

BuffereImage可以使用不同的颜色模型(RGB、BGR、ARGB、每种颜色一个字节、索引颜色等)创建。在这里,您需要将一个BuffereImage复制到另一个具有另一个Colormodel的BuffereImage

基本上,您可以使用不同的颜色模型创建一个新的BuffereImage,调用:

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

作业你可能想给它贴上标签。