/**
*
*/
package de.danielsenff.badds.operations;
import ddsutil.ImageOperations;
/**
* @author danielsenff
*
*/
public class ChannelBrightness extends ManipulateChannel {
private float brightness;
private int channel;
/**
* @param rgbChannel
* @param value
*/
public ChannelBrightness(int rgbChannel, float value) {
this.channel = rgbChannel;
this.brightness = value;
}
/**
* @param rgbChannel
* @param value
*/
public ChannelBrightness(int rgbChannel, double value) {
this.channel = rgbChannel;
this.brightness = (float) value;
}
@Override
public int[] filterRGB(int x, int y, int[] rgba) {
int oldValue = rgba[this.channel];
int newValue = (int) (oldValue * (brightness*255));
newValue = ImageOperations.checkValueLimits(newValue, 0, 255);
rgba[this.channel] = newValue;
return rgba;
}
}