[英]How to give a picture a Sepia filter
我正在尝试使用棕褐色滤镜将照片打印出来,但它只会打印同一张(未编辑的)图片两次。 如何在底部使用棕褐色代码来工作? 该代码将图片变成灰度,然后变成棕褐色。
import images.*;
public class Sepia{
public static void main(String[]args){
APImage image = new APImage("lobster.jpg");
image.draw();
APImage aCopy = image.clone();
for (Pixel p: aCopy){
int red = p.getRed();
int green = p.getGreen();
int blue = p.getBlue();
int average = (red + green + blue) / 3;
p.setRed(average);
p.setGreen(average);
p.setBlue(average);
if (red < 63){
red = (int)(red *1.1);
blue = (int)(blue * 0.9);
}else if (red < 192){
red = (int)(red*1.15);
blue = (int)(blue *0.85);
}else{
red = Math.min((int)(red*1.08),255);
blue = (int)(blue *0.93);
}
aCopy.draw();
aCopy.save();
}
}
}
尝试在抽奖之前添加此内容。
p.setRed(red);
p.setGreen(green);
p.setBlue(blue);
同样,抽签并保存在for循环之外
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.