Example usage for android.graphics ColorMatrixColorFilter ColorMatrixColorFilter

List of usage examples for android.graphics ColorMatrixColorFilter ColorMatrixColorFilter

Introduction

In this page you can find the example usage for android.graphics ColorMatrixColorFilter ColorMatrixColorFilter.

Prototype

public ColorMatrixColorFilter(@NonNull float[] array) 

Source Link

Document

Create a color filter that transforms colors through a 4x5 color matrix.

Usage

From source file:com.achep.acdisplay.ui.widgets.CircleView.java

private void initInverseColorFilter() {
    final float v = -1;
    final float[] matrix = { v, 0, 0, 0, 0, 0, v, 0, 0, 0, 0, 0, v, 0, 0, 0, 0, 0, 1, 0, };

    mInverseColorFilter = new ColorMatrixColorFilter(matrix);
}

From source file:java_lang_programming.com.android_media_demo.article80.ImageFragment.java

/**
 * /*from   w  ww  .j  a  va2s  . c  o  m*/
 */
private void grayScaleClear() {
    ColorMatrix matrix = new ColorMatrix();
    matrix.reset();
    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
    imageView.setColorFilter(filter);
    imageView.setImageResource(R.drawable.sample_20161204_180343);
}

From source file:com.bytestemplar.tonedef.touchpad.TouchPadActivity.java

private void assertInvertState(boolean hook_buttons) {
    boolean mInvertKeyColors = false;
    if (_preferences.getBoolean("invert_text_color", false)) {
        mInvertKeyColors = true;/*from   ww  w  .  j  a va 2 s  . co m*/
        ColorMatrix cm = new ColorMatrix(_invert);
        _invert_paint = new ColorMatrixColorFilter(cm);
    }

    // hook those _buttons
    for (int i = 0; i < _buttons.buttons.size(); i++) {
        ButtonDefinition button = _buttons.buttons.get(i);

        if (hook_buttons) {
            button.getButtonView().setOnTouchListener(this);
            button.getButtonView().setSoundEffectsEnabled(false);
        }

        if (button.getButtonView() instanceof ImageButton) {

            Drawable ib = ((ImageButton) (button.getButtonView())).getDrawable();

            if (ib != null) {
                if (mInvertKeyColors) {
                    ib.setColorFilter(_invert_paint);
                } else {
                    ib.setColorFilter(null);
                }
            }
        }
    }
}

From source file:us.phyxsi.gameshelf.ui.FeedAdapter.java

private void bindBoardgameHolder(final Boardgame game, final BoardgameHolder holder) {
    final int[] imageSize = { 400, 400 };
    Glide.with(host).load("http:" + game.image).listener(new RequestListener<String, GlideDrawable>() {

        @Override/*  w  ww.j  a  va2  s. com*/
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target,
                boolean isFromMemoryCache, boolean isFirstResource) {
            if (!game.hasFadedIn) {
                holder.image.setHasTransientState(true);
                final ObservableColorMatrix cm = new ObservableColorMatrix();
                ObjectAnimator saturation = ObjectAnimator.ofFloat(cm, ObservableColorMatrix.SATURATION, 0f,
                        1f);
                saturation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                    @Override
                    public void onAnimationUpdate(ValueAnimator valueAnimator) {
                        // just animating the color matrix does not invalidate the
                        // drawable so need this update listener.  Also have to create a
                        // new CMCF as the matrix is immutable :(
                        if (holder.image.getDrawable() != null) {
                            holder.image.getDrawable().setColorFilter(new ColorMatrixColorFilter(cm));
                        }
                    }
                });
                saturation.setDuration(1000);
                saturation.setInterpolator(
                        AnimationUtils.loadInterpolator(host, android.R.interpolator.fast_out_slow_in));
                saturation.addListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        holder.image.setHasTransientState(false);
                    }
                });
                saturation.start();
                game.hasFadedIn = true;
            }
            return false;
        }

        @Override
        public boolean onException(Exception e, String model, Target<GlideDrawable> target,
                boolean isFirstResource) {
            return false;
        }
    }).placeholder(shotLoadingPlaceholders[holder.getAdapterPosition() % shotLoadingPlaceholders.length])
            .diskCacheStrategy(DiskCacheStrategy.SOURCE).centerCrop().override(imageSize[0], imageSize[1])
            .into(new BoardgameTarget(holder.image, false));

}

From source file:com.channelsoft.common.bitmapUtil.ImageWorker.java

/**
* ?/*  ww  w  .  java 2 s  .  c  o m*/
* @param bmpOriginal
* @return
*/
public static Bitmap toGrayscale(Bitmap bmpOriginal) {
    int width, height;
    height = bmpOriginal.getHeight();
    width = bmpOriginal.getWidth();

    Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    Canvas c = new Canvas(bmpGrayscale);
    Paint paint = new Paint();
    ColorMatrix cm = new ColorMatrix();
    cm.setSaturation(0);
    ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
    paint.setColorFilter(f);
    c.drawBitmap(bmpOriginal, 0, 0, paint);
    return bmpGrayscale;
}

From source file:com.ifoer.util.NetPOSPrinter.java

public Bitmap bitmapDuiBi(Bitmap bp) {
    ColorMatrix cm = new ColorMatrix();
    Bitmap bmp = Bitmap.createBitmap(bp.getWidth(), bp.getHeight(), Config.ARGB_8888);
    cm.set(new float[] { 2.0f, 0.0f, 0.0f, 0.0f, 50.0f, 0.0f, 2.0f, 0.0f, 0.0f, 50.0f, 0.0f, 0.0f, 2.0f, 0.0f,
            50.0f, 0.0f, 0.0f, 0.0f, 2.0f, 0.0f });
    Paint paint = new Paint();
    paint.setColorFilter(new ColorMatrixColorFilter(cm));
    new Canvas(bmp).drawBitmap(bp, 0.0f, 0.0f, paint);
    return bmp;/* ww  w. ja  v  a2s.c o m*/
}

From source file:com.tafayor.selfcamerashot.taflib.helpers.GraphicsHelper.java

public static void converToGrayscale(Drawable drawable) {
    ColorMatrix matrix = new ColorMatrix();
    matrix.setSaturation(0);//  w  w w  . j av a 2s.co  m

    ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);

    drawable.setColorFilter(filter);

}

From source file:com.achep.acdisplay.ui.widgets.notification.NotificationActions.java

@Nullable
protected Drawable onCreateActionIcon(@NonNull Drawable icon) {
    int size = getResources().getDimensionPixelSize(R.dimen.notification_action_icon_size);
    icon = icon.mutate();/*from  w  w w. ja  v a  2s.c o m*/
    icon.setBounds(0, 0, size, size);

    // The matrix is stored in a single array, and its treated as follows:
    // [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t ]
    // When applied to a color [r, g, b, a], the resulting color is computed as (after clamping)
    //   R' = a*R + b*G + c*B + d*A + e;
    //   G' = f*R + g*G + h*B + i*A + j;
    //   B' = k*R + l*G + m*B + n*A + o;
    //   A' = p*R + q*G + r*B + s*A + t;
    ColorFilter colorFilter = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, 255, // Red
            0, 0, 0, 0, 255, // Green
            0, 0, 0, 0, 255, // Blue
            0, 0, 0, 1, 0 //    Alpha
    });
    icon.setColorFilter(colorFilter); // force white color
    return icon;
}

From source file:com.amaze.filemanager.fragments.Main.java

@Override
public void onActivityCreated(final Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    setHasOptionsMenu(false);//  w ww.  java2  s . com
    //MAIN_ACTIVITY = (MainActivity) getActivity();
    initNoFileLayout();
    utils = new Futils();
    String x = PreferenceUtils.getSelectionColor(skin);
    skinselection = Color.parseColor(x);
    color = PreferenceUtils.calculatevalues(x);
    ColorMatrix colorMatrix = new ColorMatrix(PreferenceUtils.calculatefilter(color));
    colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix);
    ROOT_MODE = Sp.getBoolean("rootmode", false);
    SHOW_HIDDEN = Sp.getBoolean("showHidden", false);
    COLORISE_ICONS = Sp.getBoolean("coloriseIcons", true);
    folder = res.getDrawable(R.drawable.ic_grid_folder_new);
    getSortModes();
    DARK_IMAGE = res.getDrawable(R.drawable.ic_doc_image_dark);
    DARK_VIDEO = res.getDrawable(R.drawable.ic_doc_video_dark);
    this.setRetainInstance(false);
    f = new HFile(HFile.UNKNOWN, CURRENT_PATH);
    f.generateMode(getActivity());
    MAIN_ACTIVITY.initiatebbar();
    IS_LIST = savedInstanceState != null ? savedInstanceState.getBoolean("IS_LIST", IS_LIST) : IS_LIST;
    ic = new IconHolder(getActivity(), SHOW_THUMBS, !IS_LIST);
    if (theme1 == 1) {

        listView.setBackgroundDrawable(
                new ColorDrawable(getResources().getColor(R.color.holo_dark_background)));
    } else {

        if (IS_LIST)
            listView.setBackgroundDrawable(
                    new ColorDrawable(getResources().getColor(android.R.color.background_light)));

    }
    listView.setHasFixedSize(true);
    columns = Integer.parseInt(Sp.getString("columns", "-1"));
    if (IS_LIST) {
        mLayoutManager = new LinearLayoutManager(getActivity());
        listView.setLayoutManager(mLayoutManager);
    } else {
        if (columns == -1 || columns == 0)
            mLayoutManagerGrid = new GridLayoutManager(getActivity(), 3);
        else
            mLayoutManagerGrid = new GridLayoutManager(getActivity(), columns);
        listView.setLayoutManager(mLayoutManagerGrid);
    }
    // use a linear layout manager
    footerView = getActivity().getLayoutInflater().inflate(R.layout.divider, null);
    dividerItemDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST, false,
            SHOW_DIVIDERS);
    listView.addItemDecoration(dividerItemDecoration);
    mSwipeRefreshLayout.setColorSchemeColors(Color.parseColor(fabSkin));
    DefaultItemAnimator animator = new DefaultItemAnimator();
    listView.setItemAnimator(animator);
    mToolbarContainer.getViewTreeObserver()
            .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    if ((columns == 0 || columns == -1)) {
                        int screen_width = listView.getWidth();
                        int dptopx = dpToPx(115);
                        columns = screen_width / dptopx;
                        if (columns == 0 || columns == -1)
                            columns = 3;
                        if (!IS_LIST)
                            mLayoutManagerGrid.setSpanCount(columns);
                    }
                    if (savedInstanceState != null && !IS_LIST)
                        retrieveFromSavedInstance(savedInstanceState);
                    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
                        mToolbarContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                    } else {
                        mToolbarContainer.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    }
                }

            });
    if (savedInstanceState == null) {
        loadlist(CURRENT_PATH, false, openMode);

    } else {
        if (IS_LIST)
            retrieveFromSavedInstance(savedInstanceState);
    }
}

From source file:com.filemanager.free.fragments.Main.java

@SuppressLint("InflateParams")
@Override/*from   ww  w.  ja va2s.  c o m*/
public void onActivityCreated(final Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    setHasOptionsMenu(false);
    //MAIN_ACTIVITY = (MainActivity) getActivity();
    initNoFileLayout();
    utils = new Futils();
    String x = PreferenceUtils.getSelectionColor(skin);
    skinselection = Color.parseColor(x);
    color = PreferenceUtils.calculatevalues(x);
    ColorMatrix colorMatrix = new ColorMatrix(PreferenceUtils.calculatefilter(color));
    colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix);
    ROOT_MODE = Sp.getBoolean("rootmode", false);
    SHOW_HIDDEN = Sp.getBoolean("showHidden", false);
    COLORISE_ICONS = Sp.getBoolean("coloriseIcons", true);
    folder = ContextCompat.getDrawable(getContext(), R.drawable.ic_grid_folder_new);
    getSortModes();
    DARK_IMAGE = ContextCompat.getDrawable(getContext(), R.drawable.ic_doc_image_dark);
    DARK_VIDEO = ContextCompat.getDrawable(getContext(), R.drawable.ic_doc_video_dark);
    this.setRetainInstance(false);
    f = new HFile(HFile.UNKNOWN, CURRENT_PATH);
    f.generateMode(getActivity());
    MAIN_ACTIVITY.initiatebbar();
    IS_LIST = savedInstanceState != null ? savedInstanceState.getBoolean("IS_LIST", IS_LIST) : IS_LIST;
    ic = new IconHolder(getActivity(), SHOW_THUMBS, !IS_LIST);
    if (theme1 == 1) {
        listView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.holo_dark_background));
    } else {
        if (IS_LIST)
            listView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.background_light));
    }
    listView.setHasFixedSize(true);
    columns = Integer.parseInt(Sp.getString("columns", "-1"));
    if (IS_LIST) {
        mLayoutManager = new LinearLayoutManager(getActivity());
        listView.setLayoutManager(mLayoutManager);
    } else {
        if (columns == -1 || columns == 0)
            mLayoutManagerGrid = new GridLayoutManager(getActivity(), 3);
        else
            mLayoutManagerGrid = new GridLayoutManager(getActivity(), columns);
        listView.setLayoutManager(mLayoutManagerGrid);
    }

    // use a linear layout manager
    footerView = getActivity().getLayoutInflater().inflate(R.layout.divider, null);
    dividerItemDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST, false,
            SHOW_DIVIDERS);
    listView.addItemDecoration(dividerItemDecoration);
    mSwipeRefreshLayout.setColorSchemeColors(Color.parseColor(fabSkin));
    DefaultItemAnimator animator = new DefaultItemAnimator();
    listView.setItemAnimator(animator);
    mToolbarContainer.getViewTreeObserver()
            .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    if ((columns == 0 || columns == -1)) {
                        int screen_width = listView.getWidth();
                        int dptopx = dpToPx(115);
                        columns = screen_width / dptopx;
                        if (columns == 0 || columns == -1)
                            columns = 3;
                        if (!IS_LIST)
                            mLayoutManagerGrid.setSpanCount(columns);
                    }
                    if (savedInstanceState != null && !IS_LIST)
                        retrieveFromSavedInstance(savedInstanceState);
                    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
                        mToolbarContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                    } else {
                        mToolbarContainer.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    }
                }

            });
    if (savedInstanceState == null) {
        loadlist(CURRENT_PATH, false, openMode);

    } else {
        if (IS_LIST)
            retrieveFromSavedInstance(savedInstanceState);
    }
}