Example usage for android.graphics Color colorToHSV

List of usage examples for android.graphics Color colorToHSV

Introduction

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

Prototype

public static void colorToHSV(@ColorInt int color, @Size(3) float hsv[]) 

Source Link

Document

Convert the ARGB color to its HSV components.

Usage

From source file:org.michaelevans.colorart.library.ColorArt.java

private int colorWithMinimumSaturation(int color, float minSaturation) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    if (hsv[1] < minSaturation) {
        return Color.HSVToColor(new float[] { hsv[0], minSaturation, hsv[2] });
    }//  w w w .  j a  v a 2 s.c  o m

    return color;
}

From source file:com.pixby.texo.EditTools.ColorTool.java

private @ColorInt int colorToProgress(@ColorInt int color) {
    int progress;
    if (isPresetColor(color)) {
        progress = 0;// w  ww .jav a 2 s .co  m
    } else {
        float[] hsv = new float[3];
        Color.colorToHSV(color, hsv);
        progress = (int) hsv[0];
    }
    return progress;
}

From source file:com.markupartist.sthlmtraveling.ViewOnMapActivity.java

public void showTransitRoute(Route route) {
    mMap.clear();/*from   w w  w .  ja v a2s .  com*/

    for (Leg leg : route.getLegs()) {
        int legColor = LegUtil.getColor(this, leg);

        float[] hsv = new float[3];
        Color.colorToHSV(legColor, hsv);
        float hueColor = hsv[0];

        LatLng origin = new LatLng(leg.getFrom().getLat(), leg.getFrom().getLon());

        mMap.addMarker(new MarkerOptions().position(origin).title(getLocationName(leg.getFrom()))
                .snippet(getRouteDescription(leg)).icon(BitmapDescriptorFactory.defaultMarker(hueColor)));

        LatLng destination = new LatLng(leg.getTo().getLat(), leg.getTo().getLon());
        mMap.addMarker(new MarkerOptions().position(destination).title(getLocationName(leg.getTo()))
                .snippet(DateFormat.getTimeFormat(this).format(leg.getStartTime()))
                .icon(BitmapDescriptorFactory.defaultMarker(hueColor)));

        if (leg.getGeometry() != null) {
            // If we have a geometry draw that.
            List<LatLng> latLgns = PolyUtil.decode(leg.getGeometry());
            drawPolyline(latLgns, legColor);
        } else {
            // One polyline per leg, different colors.
            PolylineOptions options = new PolylineOptions();
            options.add(origin);

            BitmapDescriptor icon = getColoredMarker(legColor, R.drawable.ic_line_marker);
            for (IntermediateStop stop : leg.getIntermediateStops()) {
                LatLng intermediateStop = new LatLng(stop.getLocation().getLat(), stop.getLocation().getLon());
                options.add(intermediateStop);
                Date date = stop.getTimeRt();
                if (date == null) {
                    date = stop.getTime();
                }
                String time = date != null ? DateFormat.getTimeFormat(this).format(date) : "";
                mMap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f).position(intermediateStop)
                        .title(getLocationName(stop.getLocation())).snippet(time).icon(icon));
            }

            options.add(destination);

            mMap.addPolyline(options.width(ViewHelper.dipsToPix(getResources(), 8)).color(legColor));
        }

        if (leg.getFrom().hasEntrances()) {
            showEntrances(leg.getFrom().getEntrances(), false);
        }
        if (leg.getTo().hasEntrances()) {
            showEntrances(leg.getTo().getEntrances(), true);
        }
    }
}

From source file:de.WyLight.WyLight.WiflyControlActivity.java

public void setColor(int argb) {
    mARGB = argb;
    Color.colorToHSV(argb, mHSV);
    onColorChanged();
}

From source file:com.example.locale.MainActivity.java

private int getDarkerColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.8f; // value component
    return Color.HSVToColor(hsv);
}

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);//  www. j  ava 2  s  .co m
    int m = w / 10;

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

    return result;
}

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

/**
 * Set the color this view should show./*from w  ww  .  ja  va2 s  . c  om*/
 * 
 * @param color The color that should be selected.
 * @param callback If you want to get a callback to your
 *            OnColorChangedListener.
 */
public void setColor(final int color, final boolean callback) {

    final int alpha = Color.alpha(color);

    final float[] hsv = new float[3];

    Color.colorToHSV(color, hsv);

    if (mShowAlphaPanel) {
        mAlpha = alpha;
    } else {
        mAlpha = 0xff;
    }
    mHue = hsv[0];
    mSat = hsv[1];
    mVal = hsv[2];

    if (callback) {
        if (mOnColorChangedListener != null) {
            mOnColorChangedListener.onColorChanged(color);
        }
    }

    invalidate();
}

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  w  ww.j av  a  2 s  . c  o  m*/
    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();/* ww w .j a  va2s.  c om*/

    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.wheelly.fragments.LocationsMapFragment.java

@Subscribe
public void onLoadFinished(LocationsLoadedEvent event) {
    googleMap.clear();/*  ww  w  .ja  v a 2  s  .  c  o  m*/

    if (null != event.cursor && event.cursor.moveToFirst()) {
        final int latIdx = event.cursor.getColumnIndex("latitude");
        final int lonIdx = event.cursor.getColumnIndex("longitude");
        final int nameIdx = event.cursor.getColumnIndex("name");
        final int idIdx = event.cursor.getColumnIndex(BaseColumns._ID);
        final int colorIdx = event.cursor.getColumnIndex("color");

        final Aggregate delegate = buildCameraUpdateDelegate();

        do {
            final LatLng l = new LatLng(event.cursor.getDouble(latIdx), event.cursor.getDouble(lonIdx));
            final long id = event.cursor.getLong(idIdx);
            final MarkerOptions markerOptions = new MarkerOptions().position(l)
                    .title(event.cursor.getString(nameIdx)).snippet(Long.toString(id)).draggable(true);

            final String argb = event.cursor.getString(colorIdx);

            if (!Strings.isNullOrEmpty(argb)) {
                float[] hsv = new float[3];
                Color.colorToHSV(Color.parseColor(argb), hsv);
                markerOptions.icon(BitmapDescriptorFactory.defaultMarker(hsv[0]));
            }

            // Adding marker on the Google Map
            googleMap.addMarker(markerOptions);
            delegate.seed(l, id);
        } while (event.cursor.moveToNext());

        //googleMap.animateCamera(delegate.result());
        googleMap.setOnCameraChangeListener(new OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition paramCameraPosition) {
                googleMap.animateCamera(delegate.result());
                googleMap.setOnCameraChangeListener(null);
            }
        });
    }
}