Java中的颜色缩放

时间:2013-03-15 02:35:56

标签: java

我正在尝试缩放像素的颜色分量。为此,我创建了一个新的像素,其中每个颜色分量是原始值*该颜色的缩放系数。结果像素的值必须在0 <= color <= 255范围内。

这是我到目前为止所做的事情

public class ColorScale implements Transformer {
    /* This part creates a transformer that scales the color in each pixel by the following factors
        parameter r0 = red factor
        parameter b0 = blue factor
        parameter g0 = green factor 
    */

    public ColorScale(double r0, double g0, double b0) {
       // need guidance as what to do here
    }

    public Pixel transformPixel(pixel p) {
        return p;
    }
}

更多信息在这里:http://www.seas.upenn.edu/~cis120/current/hw/hw07/javadoc/ColorScale.html

我是Java的新手,因此我只需要指导如何在ColorScale函数中执行操作。

1 个答案:

答案 0 :(得分:3)

从您提供的JavaDoc中,ColorScaleTransformer实现之一。

从您的代码段:

public ColorScale(double r0, double g0, double b0) {
   // need guidance as what to do here
}

这是构造函数。您正在创建instance Pixel Transformer的特定实现(在本例中为ColorScale)。

构造函数应该只设置Transformer的内部状态,然后它将被设置为通过契约方法transformPixel转换像素。

换句话说,

public ColorScale(double r0, double g0, double b0) {
   // Set internal state fields. 
   this.r0 = r0;
   this.g0 = g0;
   this.b0 = b0;
}