Example usage for android.graphics Color HSVToColor

List of usage examples for android.graphics Color HSVToColor

Introduction

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

Prototype

@ColorInt
public static int HSVToColor(@Size(3) float hsv[]) 

Source Link

Document

Convert HSV components to an ARGB color.

Usage

From source file:com.abhinavjhanwar.android.egg.neko.Cat.java

public Bitmap createLargeBitmap(Context context) {
    final Resources res = context.getResources();
    final int w = res.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
    final int h = res.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);

    Bitmap result = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
    final Canvas canvas = new Canvas(result);
    final Paint pt = new Paint();
    float[] hsv = new float[3];
    Color.colorToHSV(mBodyColor, hsv);
    hsv[2] = (hsv[2] > 0.5f) ? (hsv[2] - 0.25f) : (hsv[2] + 0.25f);
    pt.setColor(Color.HSVToColor(hsv));
    pt.setFlags(Paint.ANTI_ALIAS_FLAG);
    float r = w / 2;
    canvas.drawCircle(r, r, r, pt);//from  w  w w . j  av  a  2  s .  c  om
    int m = w / 10;

    slowDraw(canvas, m, m, w - m - m, h - m - m);

    return result;
}

From source file:edu.stanford.mobisocial.dungbeetle.model.DbObject.java

private static int colorFor(Long hash) {
    float[] baseHues = Feed.getBaseHues();
    ByteBuffer bos = ByteBuffer.allocate(8);
    bos.putLong(hash);//from   w w w.j  av  a  2 s  .  c o m
    byte[] hashBytes = new byte[8];
    bos.position(0);
    bos.get(hashBytes);
    SecureRandom r = new SecureRandom(hashBytes);
    float hsv[] = new float[] { baseHues[r.nextInt(baseHues.length)], r.nextFloat(), r.nextFloat() };
    hsv[0] = hsv[0] + 20 * r.nextFloat() - 10;
    hsv[1] = hsv[1] * 0.2f + 0.8f;
    hsv[2] = hsv[2] * 0.2f + 0.8f;
    return Color.HSVToColor(hsv);
}

From source file:com.miz.utils.ViewUtils.java

public static int darkenColor(int color, float factor) {
    final float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= factor;//from ww w  . ja  va  2  s  .  c  om
    return Color.HSVToColor(hsv);
}

From source file:org.voidsink.anewjkuapp.fragment.CalendarFragment2.java

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    ArrayList<WeekViewEvent> events = mWeekViewLoader.getEvents(loader.getId());
    events.clear();/*from w w w  . java2  s.com*/

    Account mAccount = AppUtils.getAccount(getContext());
    if (mAccount != null) {
        // fetch calendar colors
        final SparseIntArray mColors = new SparseIntArray();
        ContentResolver cr = getContext().getContentResolver();
        Cursor cursor = cr.query(CalendarContractWrapper.Calendars.CONTENT_URI(), new String[] {
                CalendarContractWrapper.Calendars._ID(), CalendarContractWrapper.Calendars.CALENDAR_COLOR() },
                null, null, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                int color = cursor.getInt(1);

                double lastContrast = ColorUtils.calculateContrast(color, mWeekView.getEventTextColor());
                //Log.d(TAG, String.format("color=%d %d %d, contrast=%f", Color.red(color), Color.green(color), Color.blue(color), lastContrast));

                while (lastContrast < 1.6) {
                    float[] hsv = new float[3];

                    Color.colorToHSV(color, hsv);
                    hsv[2] = Math.max(0f, hsv[2] - 0.033f); // darken
                    color = Color.HSVToColor(hsv);

                    lastContrast = ColorUtils.calculateContrast(color, mWeekView.getEventTextColor());
                    //Log.d(TAG, String.format("new color=%d %d %d, contrast=%f", Color.red(color), Color.green(color), Color.blue(color), lastContrast));

                    if (hsv[2] == 0)
                        break;
                }

                mColors.put(cursor.getInt(0), color);
            }
            cursor.close();
        }

        if (data != null) {
            data.moveToFirst();
            data.moveToPrevious();
            while (data.moveToNext()) {

                boolean allDay = data.getInt(CalendarUtils.COLUMN_EVENT_ALL_DAY) == 1;

                Calendar startTime = Calendar.getInstance();
                if (allDay) {
                    startTime.setTimeZone(TimeZone.getTimeZone("UTC"));
                }
                startTime.setTimeInMillis(data.getLong(CalendarUtils.COLUMN_EVENT_DTSTART));

                Calendar endTime = Calendar.getInstance();
                if (allDay) {
                    endTime.setTimeZone(TimeZone.getTimeZone("UTC"));
                }
                endTime.setTimeInMillis(data.getLong(CalendarUtils.COLUMN_EVENT_DTEND));
                if (allDay && endTime.getTimeInMillis() % DateUtils.DAY_IN_MILLIS == 0) {
                    endTime.add(Calendar.MILLISECOND, -1);
                }

                WeekViewEvent event = new WeekViewEvent(data.getLong(CalendarUtils.COLUMN_EVENT_ID),
                        data.getString(CalendarUtils.COLUMN_EVENT_TITLE),
                        data.getString(CalendarUtils.COLUMN_EVENT_LOCATION), startTime, endTime, allDay);

                event.setColor(mColors.get(data.getInt(CalendarUtils.COLUMN_EVENT_CAL_ID)));

                events.add(event);
            }
        }
    }

    mWeekView.notifyDatasetChanged();
}

From source file:com.derrick.movies.MovieDetailsActivity.java

private void loadPoster(Context baseContext, String url, final ImageView image) {
    Glide.with(baseContext).load(IMAGE_BASE + url).diskCacheStrategy(DiskCacheStrategy.ALL)
            .listener(new RequestListener<String, GlideDrawable>() {
                @Override/*from  w w w.j a v  a2s .c o  m*/
                public boolean onException(Exception e, String model, Target<GlideDrawable> target,
                        boolean isFirstResource) {
                    return false;
                }

                @Override
                public boolean onResourceReady(GlideDrawable resource, String model,
                        Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                    Bitmap bitmap = ((GlideBitmapDrawable) resource).getBitmap();
                    if (bitmap != null) {
                        Palette.from(bitmap).maximumColorCount(24).generate(new Palette.PaletteAsyncListener() {
                            @Override
                            public void onGenerated(Palette palette) {

                                int vibrantColor = palette
                                        .getVibrantColor(getResources().getColor(R.color.colorPrimary));
                                float[] hsv = new float[3];
                                Color.colorToHSV(vibrantColor, hsv);
                                hsv[2] *= 0.8f;
                                int darkerColor = Color.HSVToColor(hsv);
                                toolbarLayout.setContentScrimColor(vibrantColor);
                                toolbarLayout.setStatusBarScrimColor(darkerColor);
                                setStatusBarColor(darkerColor);
                                TagLineLayout.setBackgroundColor(vibrantColor);
                                //imageBackdrop.setColorFilter(new ColorMatrixColorFilter(geColorMatrix()));

                            }
                        });

                    }
                    return false;
                }
            }).into(image);
}

From source file:com.layer_net.stepindicator.StepIndicator.java

private int getColorToBG(float offset) {
    offset = Math.abs(offset);/*from  ww w  . ja  v a2  s .co m*/
    float[] hsv = new float[3];
    hsv[0] = hsvBG[0] + (hsvCurrent[0] - hsvBG[0]) * offset;
    hsv[1] = hsvBG[1] + (hsvCurrent[1] - hsvBG[1]) * offset;
    hsv[2] = hsvBG[2] + (hsvCurrent[2] - hsvBG[2]) * offset;
    return Color.HSVToColor(hsv);
}

From source file:com.layer_net.stepindicator.StepIndicator.java

private int getColorToProgess(float offset) {
    offset = Math.abs(offset);//from   w  w w. ja  va2 s .co  m
    float[] hsv = new float[3];
    hsv[0] = hsvCurrent[0] + (hsvProgress[0] - hsvCurrent[0]) * offset;
    hsv[1] = hsvCurrent[1] + (hsvProgress[1] - hsvCurrent[1]) * offset;
    hsv[2] = hsvCurrent[2] + (hsvProgress[2] - hsvCurrent[2]) * offset;
    return Color.HSVToColor(hsv);
}

From source file:com.ess.tudarmstadt.de.sleepsense.mgraph.SleepEstimGPlotFragment.java

private void drawChart(ArrayList<GraphViewData> data_line, String title, int graphR_id, boolean isBar) {
    if (data_line.size() > 0) {
        GraphViewData[] dataList = new GraphViewData[data_line.size()];
        for (int i = 0; i < data_line.size(); i++) {
            dataList[i] = data_line.get(i);
        }//from w w  w. ja v  a2  s  . com
        GraphViewSeriesStyle seriesStyle = new GraphViewSeriesStyle();
        seriesStyle.setValueDependentColor(new ValueDependentColor() {
            @Override
            public int get(GraphViewDataInterface data) {
                // the higher the more green 
                //               return Color.rgb((int) ((75 / 255) * ((data.getY() / 50))),
                //                     (int) (255 * (data.getY() / 100)), 50);

                // the higher the more green (better color)
                float hue = Float.valueOf(String.valueOf(data.getY() * 120 / SLEEP_THREHOLD));
                return Color.HSVToColor(new float[] { hue, 1f, 0.5f });

                // if (data.getY() > SLEEP_THREHOLD){
                // return Color.GREEN;
                // }
                // else if (data.getY() > 30)
                // return Color.YELLOW;
                // return Color.RED;
            }
        });

        GraphViewSeries gvs_series = new GraphViewSeries("Sleep Pattern", seriesStyle, dataList);

        createGraph(title, gvs_series, graphR_id, isBar);
    } else {
        // clear Chart
        GraphViewData[] dataList = new GraphViewData[1];
        dataList[0] = new GraphViewData(0.0, 0.0);
        GraphViewSeries gvs_series = new GraphViewSeries(dataList);
        createGraph(title, gvs_series, graphR_id, isBar);
    }
}

From source file:de.vanita5.twittnuker.view.ColorPickerView.java

private int[] buildHueColorArray() {

    final int[] hue = new int[361];

    int count = 0;
    for (int i = hue.length - 1; i >= 0; i--, count++) {
        hue[count] = Color.HSVToColor(new float[] { i, 1f, 1f });
    }/*from w w  w. j  a va2  s .  c o m*/

    return hue;
}

From source file:com.google.android.apps.muzei.settings.SettingsChooseSourceFragment.java

public void updateSources() {
    mSelectedSource = null;/*ww w.  j  a v a  2s  .c o  m*/
    Intent queryIntent = new Intent(ACTION_MUZEI_ART_SOURCE);
    PackageManager pm = getActivity().getPackageManager();
    mSources.clear();
    List<ResolveInfo> resolveInfos = pm.queryIntentServices(queryIntent, PackageManager.GET_META_DATA);

    for (ResolveInfo ri : resolveInfos) {
        Source source = new Source();
        source.label = ri.loadLabel(pm).toString();
        source.icon = new BitmapDrawable(getResources(), generateSourceImage(ri.loadIcon(pm)));
        source.componentName = new ComponentName(ri.serviceInfo.packageName, ri.serviceInfo.name);
        if (ri.serviceInfo.descriptionRes != 0) {
            try {
                Context packageContext = getActivity()
                        .createPackageContext(source.componentName.getPackageName(), 0);
                Resources packageRes = packageContext.getResources();
                source.description = packageRes.getString(ri.serviceInfo.descriptionRes);
            } catch (PackageManager.NameNotFoundException e) {
                Log.e(TAG, "Can't read package resources for source " + source.componentName);
            }
        }
        Bundle metaData = ri.serviceInfo.metaData;
        source.color = Color.WHITE;
        if (metaData != null) {
            String settingsActivity = metaData.getString("settingsActivity");
            if (!TextUtils.isEmpty(settingsActivity)) {
                source.settingsActivity = ComponentName
                        .unflattenFromString(ri.serviceInfo.packageName + "/" + settingsActivity);
            }

            String setupActivity = metaData.getString("setupActivity");
            if (!TextUtils.isEmpty(setupActivity)) {
                source.setupActivity = ComponentName
                        .unflattenFromString(ri.serviceInfo.packageName + "/" + setupActivity);
            }

            source.color = metaData.getInt("color", source.color);

            try {
                float[] hsv = new float[3];
                Color.colorToHSV(source.color, hsv);
                boolean adjust = false;
                if (hsv[2] < 0.8f) {
                    hsv[2] = 0.8f;
                    adjust = true;
                }
                if (hsv[1] > 0.4f) {
                    hsv[1] = 0.4f;
                    adjust = true;
                }
                if (adjust) {
                    source.color = Color.HSVToColor(hsv);
                }
                if (Color.alpha(source.color) != 255) {
                    source.color = Color.argb(255, Color.red(source.color), Color.green(source.color),
                            Color.blue(source.color));
                }
            } catch (IllegalArgumentException ignored) {
            }
        }

        mSources.add(source);
    }

    final String appPackage = getActivity().getPackageName();
    Collections.sort(mSources, new Comparator<Source>() {
        @Override
        public int compare(Source s1, Source s2) {
            String pn1 = s1.componentName.getPackageName();
            String pn2 = s2.componentName.getPackageName();
            if (!pn1.equals(pn2)) {
                if (appPackage.equals(pn1)) {
                    return -1;
                } else if (appPackage.equals(pn2)) {
                    return 1;
                }
            }
            return s1.label.compareTo(s2.label);
        }
    });

    redrawSources();
}