java如何更改色调使图像红色

时间:2016-07-14 07:50:08

标签: java

我是初学者,最近开始学习java。 我试图写一些代码,但无法找到确切的方法,所以我来到这里! 现在关于代码..这个代码基本上是一个灰度转换器,它的工作原理我导入了一个库,我正在使用那个。我想让图像变成灰色的灰色,所以它看起来就像一个灰度图像,但是红色而不是灰色...

import edu.duke.*;
public class Grayscaleconverter {
 public ImageResource makeGray(ImageResource inImage){
     ImageResource outImage=new     ImageResource(inImage.getWidth(),inImage.getHeight());
     for (Pixel pixel:outImage.pixels()){
         Pixel inPixel=inImage.getPixel(pixel.getX(),pixel.getY());

     double red=(inPixel.getRed()*0.25); 
     double blue=(inPixel.getBlue()*0.25); 
     double green=(inPixel.getGreen()*0.25);
     pixel.setRed(red);
     pixel.setGreen(green);
     pixel.setBlue(blue);
    }

     return outImage;
    }

     public void testGray(){
         ImageResource ir= new ImageResource();
         ImageResource red=makeGray(ir);
         red.draw();

要使图像变为灰色,您只需要获取每个像素的所有平均值,并将红色,绿色和蓝色设置为该平均值。但在这里,我试图改变色彩 但第一个错误是在pixel.setred(红色)它说可能有损转换从double到int我已经尝试在括号pixel.setred((双红))内写双,但它不起作用。你也可以告诉我,如果我的代码方式是否会给我我想要的输出?如果不是任何人都可以编写代码并解释..请简单的抱歉花时间。

谢谢你。 p.soutimage是结果,inimage是必须被包含的图像

0 个答案:

没有答案