注意,本人博客主要是为了自己记录,如果有问题欢迎反馈哈。
android里画圆形图的方法,我知道四种,前三种是java代码,此次重点记录这三种方法,最后一种是利用shape、shape-layer将图片显示成圆形,这种方法可自行上网百度,不推荐。
三种java代码方法,分别是使用BitmapShader(图片渲染)、PorterDuffXfermode(图片混合模式)、ClipPath (裁剪区域),这三方面知识还有很多其他方面用法,想要学习的可以多百度一下,下面分别介绍这三种画圆形图的方法。
使用BitmapShader图片渲染方式画圆形图
public Bitmap getCirleBitmap(Bitmap bmp) { //获取bmp的宽高 小的一个做为圆的直径r int w = bmp.getWidth(); int h = bmp.getHeight(); int r = Math.min(w, h); //创建一个paint Paint paint = new Paint(); paint.setAntiAlias(true); //新创建一个Bitmap对象newBitmap 宽高都是r Bitmap newBitmap = Bitmap.createBitmap(r, r, Bitmap.Config.ARGB_8888); //创建一个使用newBitmap的Canvas对象 Canvas canvas = new Canvas(newBitmap); //创建一个BitmapShader对象 使用传递过来的原Bitmap对象bmp BitmapShader bitmapShader = new BitmapShader(bmp, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); //paint设