CirleDrawImage圆角图片
16lz
2021-01-26
/** * */package com.example.cirledrawimage;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.ColorFilter;import android.graphics.Paint;import android.graphics.PixelFormat;import android.graphics.Shader.TileMode;import android.graphics.drawable.Drawable;public class CirleDrawImage extends Drawable {private Paint mPaint;private int mWitdh;private Bitmap mBimap;public CirleDrawImage(Bitmap bitmap){this.mBimap=bitmap;BitmapShader bitmapShader=new BitmapShader(mBimap, TileMode.CLAMP, TileMode.CLAMP);mPaint=new Paint();mPaint.setAntiAlias(true);mPaint.setShader(bitmapShader);mWitdh=Math.min(mBimap.getWidth(), mBimap.getHeight());}@Overridepublic void draw(Canvas canvas) {canvas.drawCircle(mWitdh/2, mWitdh/2,mWitdh/2, mPaint);}@Overridepublic void setAlpha(int alpha) {mPaint.setAlpha(alpha);}@Overridepublic void setColorFilter(ColorFilter cf) {mPaint.setColorFilter(cf);}@Overridepublic int getOpacity() {return PixelFormat.TRANSLUCENT;}@Overridepublic int getIntrinsicHeight() {return mWitdh;}@Overridepublic int getIntrinsicWidth() {return mWitdh;}}
/** * */package com.example.cirledrawimage;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.widget.ImageView;public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageShow=(ImageView)findViewById(R.id.img_shows);Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ss);imageShow.setImageDrawable(new CirleDrawImage(bitmap));}}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer