美文网首页
Android-BitmapShader的应用

Android-BitmapShader的应用

作者: aruba | 来源:发表于2020-01-06 09:47 被阅读0次

BitmapShader赋予画笔以图片来着色,使用canvas画圆形就可以实现圆形头像

    private void drawCircleBitmapShader(Canvas canvas){
        BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
        paint.setShader(bitmapShader);

        //获取半径
        int radius = Math.min(bitmap.getWidth(),bitmap.getHeight());
        RectF rect = new RectF(0,0,radius,radius);
        //画椭圆型
        canvas.drawOval(rect,paint);
    }
圆形头像.jpg

如果觉得大,可以使用Matrix对图片进行缩放

    private void drawCircleMatrixBitmapShader(Canvas canvas,int radius){
        BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
        paint.setShader(bitmapShader);
        Matrix matrix = new Matrix();
        //获取缩放比较小的,以保持缩放比一致,防止拉伸图片
        float scale = Math.min((float) radius/bitmap.getWidth(),(float) radius/bitmap.getHeight());
        matrix.setScale(scale,scale);
        bitmapShader.setLocalMatrix(matrix);

        RectF rect = new RectF(0,0,radius,radius);
        //画椭圆型
        canvas.drawOval(rect,paint);
    }
缩放后的圆形头像.jpg

项目地址:https://gitee.com/aruba/ShaderApplication.git

相关文章

  • Android-BitmapShader的应用

    BitmapShader赋予画笔以图片来着色,使用canvas画圆形就可以实现圆形头像 如果觉得大,可以使用Mat...

  • 应用案例——视图的应用

    案例的目的 掌握视图的创建、查询、更新和删除操作。假如有来自河北和山东的三个理科学生报考北京大学和清华大学,现在需...

  • this的应用

    例子

  • Android通过包名获取其他应用程序的名称

    查看本应用的应用名称 : 查看其它应用的应用名称 :

  • 应用

    【应用】 $应用$ 【应用名称】王者荣耀【应用名称】 【应用介绍】5v5对战手游【应用介绍】 $应用$ 【应用名称...

  • Day17 - Flutter - 应用信息配置

    概述 应用标识 应用名称 应用图标 应用启动图 一、应用标识 1.1. Android应用标识Android应用标...

  • 应用文的实际应用

    应用文写作语文课程标准(2011年版)中明确要求:学写常见的应用文(5—6年级)、写常见的应用(7—9年级)。众所...

  • iOS应用程序间的跳转

    一.从应用A直接跳转到应用B 以应用A(网易)与应用B(微信)说明,网易应用跳转至微信应用; 1.设置应用B的UR...

  • 2018-04-09应用管理

    应用管理 本文主要是分析的是“设置”--> "应用"中的应用管理中的应用的运行时权限和默认应用配置等。分析了应用权...

  • 《高性能iOS应用开发》生命周期

    应用的生命周期 应用委托 AppDelegate 通常是应用创建的第一个对象,为应用提供环境变量。 应用启动 应用...

网友评论

      本文标题:Android-BitmapShader的应用

      本文链接:https://www.haomeiwen.com/subject/mzphactx.html