ColorPickerView.java 文件源码

java
阅读 54 收藏 0 点赞 0 评论 0

项目:ToastUI 作者:
private void drawAlphaPanel(Canvas canvas) {
    if (this.mShowAlphaPanel && this.mAlphaRect != null && this.mAlphaPattern != null) {
        RectF rect = this.mAlphaRect;
        this.mBorderPaint.setColor(this.mBorderColor);
        canvas.drawRect(rect.left - BORDER_WIDTH_PX, rect.top - BORDER_WIDTH_PX, BORDER_WIDTH_PX + rect.right, BORDER_WIDTH_PX + rect.bottom, this.mBorderPaint);
        this.mAlphaPattern.draw(canvas);
        float[] hsv = new float[]{this.mHue, this.mSat, this.mVal};
        this.mAlphaShader = new LinearGradient(rect.left, rect.top, rect.right, rect.top, Color.HSVToColor(hsv), Color.HSVToColor(0, hsv), TileMode.CLAMP);
        this.mAlphaPaint.setShader(this.mAlphaShader);
        canvas.drawRect(rect, this.mAlphaPaint);
        if (!(this.mAlphaSliderText == null || this.mAlphaSliderText == "")) {
            canvas.drawText(this.mAlphaSliderText, rect.centerX(), rect.centerY() + (4.0f * this.mDensity), this.mAlphaTextPaint);
        }
        float rectWidth = (4.0f * this.mDensity) / 2.0f;
        Point p = alphaToPoint(this.mAlpha);
        RectF r = new RectF();
        r.left = ((float) p.x) - rectWidth;
        r.right = ((float) p.x) + rectWidth;
        r.top = rect.top - this.RECTANGLE_TRACKER_OFFSET;
        r.bottom = rect.bottom + this.RECTANGLE_TRACKER_OFFSET;
        canvas.drawRoundRect(r, 2.0f, 2.0f, this.mHueTrackerPaint);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号