Android Open Source - android-imgpro-lib Colorize






From Project

Back to project page android-imgpro-lib.

License

The source code is released under:

MIT License

If you think the Android project android-imgpro-lib listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.akhyar.android.imgpro.actions;
/*from  w w  w  .  j  ava2  s  .  co m*/
import net.akhyar.android.imgpro.Action;
import android.graphics.Color;

public class Colorize extends Action {

  private int colorMask;
  private float factor;

  public Colorize(float factor, int colorMask) {
    this.colorMask = colorMask;
    this.factor = factor;
  }

  @Override
  protected void adjustPixels(int[] colors) {

    int r, g, b;
    int tR, tG, tB;
    r = Color.red(this.colorMask);
    g = Color.green(this.colorMask);
    b = Color.blue(this.colorMask);

    Blend.Mode mode = Blend.Mode.LIGHTEN;
    int[][] cache = new int[256][256];
    for (int i = 0; i < cache.length; i++) {
      for (int j = 0; j < cache[i].length; j++) {
        cache[i][j] = clamp(mode.apply(i, j) * factor);
      }
    }

    for (int i = 0; i < colors.length; i++) {
      tR = Color.red(colors[i]);
      tG = Color.green(colors[i]);
      tB = Color.blue(colors[i]);
      tR = tG = tB = (tR + tG + tB) / 3;

      tR = cache[tR][r];
      tG = cache[tG][g];
      tB = cache[tB][b];

      colors[i] = Color.rgb(tR, tG, tB);
    }
  }

}




Java Source Code List

net.akhyar.android.imgpro.Action.java
net.akhyar.android.imgpro.Channel.java
net.akhyar.android.imgpro.FilterListener.java
net.akhyar.android.imgpro.FilterTask.java
net.akhyar.android.imgpro.Filter.java
net.akhyar.android.imgpro.ImgPro.java
net.akhyar.android.imgpro.actions.Blend.java
net.akhyar.android.imgpro.actions.Blur.java
net.akhyar.android.imgpro.actions.Brightness.java
net.akhyar.android.imgpro.actions.ChannelMix.java
net.akhyar.android.imgpro.actions.Colorize.java
net.akhyar.android.imgpro.actions.Contrast.java
net.akhyar.android.imgpro.actions.Desaturate.java
net.akhyar.android.imgpro.actions.Invert.java
net.akhyar.android.imgpro.filters.Default.java
net.akhyar.android.imgpro.filters.Vintage.java
net.akhyar.android.imgpro.filters.XProcess.java
net.akhyar.android.perf.BitmapTask.java
net.akhyar.android.perf.SetBitmap.java
net.akhyar.android.perf.SetImageViewBitmapTask.java
net.akhyar.android.perf.Worker.java