CircleView.java 文件源码

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

项目:Evisa 作者:
/**
 * 初始化BitmapShader
 */
private void setUpShader()
{
    Drawable drawable = getDrawable();
    if (drawable == null)
    {
        Log.e("view", "ok");
        return;
    }

    Bitmap bmp = drawableToBitamp(drawable);
    // 将bmp作为着色器,就是在指定区域内绘制bmp
    mBitmapShader = new BitmapShader(bmp, TileMode.CLAMP, TileMode.CLAMP);
    float scale = 1.0f;
    int bSize = Math.min(bmp.getWidth(), bmp.getHeight());
    scale = getWidth() * 1.0f / bSize;
    // shader的变换矩阵,我们这里主要用于放大或者缩小
    matrix.setScale(scale, scale);
    // 设置变换矩阵
    mBitmapShader.setLocalMatrix(matrix);
    // 设置shader
    paint.setShader(mBitmapShader);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号