private void drawPointerArrow(Canvas canvas) {
int centerX = getWidth() / 2;
int centerY = getHeight() / 2;
double tipAngle = (colorHSV[2] - 0.5f) * Math.PI;
double leftAngle = tipAngle + Math.PI / 96;
double rightAngle = tipAngle - Math.PI / 96;
double tipAngleX = Math.cos(tipAngle) * outerWheelRadius;
double tipAngleY = Math.sin(tipAngle) * outerWheelRadius;
double leftAngleX = Math.cos(leftAngle)
* (outerWheelRadius + arrowPointerSize);
double leftAngleY = Math.sin(leftAngle)
* (outerWheelRadius + arrowPointerSize);
double rightAngleX = Math.cos(rightAngle)
* (outerWheelRadius + arrowPointerSize);
double rightAngleY = Math.sin(rightAngle)
* (outerWheelRadius + arrowPointerSize);
arrowPointerPath.reset();
arrowPointerPath.moveTo((float) tipAngleX + centerX, (float) tipAngleY
+ centerY);
arrowPointerPath.lineTo((float) leftAngleX + centerX,
(float) leftAngleY + centerY);
arrowPointerPath.lineTo((float) rightAngleX + centerX,
(float) rightAngleY + centerY);
arrowPointerPath.lineTo((float) tipAngleX + centerX, (float) tipAngleY
+ centerY);
valuePointerArrowPaint.setColor(Color.HSVToColor(colorHSV));
valuePointerArrowPaint.setStyle(Style.FILL);
canvas.drawPath(arrowPointerPath, valuePointerArrowPaint);
valuePointerArrowPaint.setStyle(Style.STROKE);
valuePointerArrowPaint.setStrokeJoin(Join.ROUND);
valuePointerArrowPaint.setColor(Color.BLACK);
canvas.drawPath(arrowPointerPath, valuePointerArrowPaint);
}
ColorPicker.java 文件源码
java
阅读 38
收藏 0
点赞 0
评论 0
项目:ThunderMusic
作者:
评论列表
文章目录