示例#1
0
  @Override
  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawColor(backgroundColor);
    if (colorWheel != null) canvas.drawBitmap(colorWheel, 0, 0, null);
    if (currentColorCircle != null) {
      float maxRadius =
          canvas.getWidth() / 2f - STROKE_RATIO * (1f + ColorWheelRenderer.GAP_PERCENTAGE);
      float size = maxRadius / density / 2;
      colorWheelFill.setColor(
          Color.HSVToColor(currentColorCircle.getHsvWithLightness(this.lightness)));
      colorWheelFill.setAlpha((int) (alpha * 0xff));
      canvas.drawCircle(
          currentColorCircle.getX(),
          currentColorCircle.getY(),
          size * STROKE_RATIO,
          selectorStroke1);
      canvas.drawCircle(
          currentColorCircle.getX(),
          currentColorCircle.getY(),
          size * (1 + (STROKE_RATIO - 1) / 2),
          selectorStroke2);

      canvas.drawCircle(
          currentColorCircle.getX(), currentColorCircle.getY(), size, alphaPatternPaint);
      canvas.drawCircle(currentColorCircle.getX(), currentColorCircle.getY(), size, colorWheelFill);
    }
  }
示例#2
0
 public void setLightness(float lightness) {
   this.lightness = lightness;
   this.initialColor =
       Color.HSVToColor(
           Utils.alphaValueAsInt(this.alpha), currentColorCircle.getHsvWithLightness(lightness));
   if (this.colorEdit != null)
     this.colorEdit.setText("#" + Integer.toHexString(this.initialColor).toUpperCase());
   if (this.alphaSlider != null && this.initialColor != null)
     this.alphaSlider.setColor(this.initialColor);
   updateColorWheel();
   invalidate();
 }
示例#3
0
 public int getSelectedColor() {
   int color = 0;
   if (currentColorCircle != null)
     color = Color.HSVToColor(currentColorCircle.getHsvWithLightness(this.lightness));
   return Utils.adjustAlpha(this.alpha, color);
 }