圆形图片2不支持xutils
来源:互联网 发布:淘宝催好评短信模板 编辑:程序博客网 时间:2024/05/16 11:29
package com.bwie.test;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Path;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.util.Log;import android.widget.ImageView;/** * 圆形图片显示组件 * @author 胡少平 * */public class CircleImageView extends ImageView { Path path; public PaintFlagsDrawFilter mPaintFlagsDrawFilter;// 毛边过滤 Paint paint; public CircleImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub init(); } public CircleImageView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub init(); } public CircleImageView(Context context) { super(context); // TODO Auto-generated constructor stub init(); } public void init() { paint = new Paint(); } @Override protected void onDraw(Canvas cns) { // TODO Auto-generated method stub Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); Bitmap b = circleDraw(bitmap); final Rect rect1 = new Rect(0, 0, b.getWidth(), b.getHeight()); final Rect rect2 = new Rect(0, 0, getMeasuredWidth(), getMeasuredHeight()); paint.reset(); cns.drawBitmap(b, rect1, rect2, paint); b.recycle(); } else { super.onDraw(cns); } } private Bitmap circleDraw(Bitmap bitmap) { int r=0; int width = bitmap.getWidth(); int height = bitmap.getHeight(); Rect rectSource = null; if(width>height) r=height; else { r=width; } //创建一个图片对象 Bitmap output = Bitmap.createBitmap(r, r, Config.ARGB_8888); //创建一个图片游标 Canvas canvas = new Canvas(output); final Rect rect = new Rect(0, 0, r, r); /* 设置取消锯齿效果 */ paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(Color.WHITE); /* 绘画一个圆图形 */ canvas.drawCircle(r/ 2, r / 2, r / 2, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; }}
0 0
- 圆形图片2不支持xutils
- 支持xutils的圆形图片
- Xutils上传图片(2)
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- 圆形图片
- CustomImageView圆形imageView, 支持xutils加载
- xutils上传多图片
- xUtils之加载图片
- xutils图片参数
- Android App支付系列(一):微信支付接入详细指南(附官方支付demo)
- 矩阵的特征值和特征向量的雅克比算法C/C++实现
- 乐学成语
- Qt Creator 窗体控件自适应窗口大小布局
- Linux中软连接和硬链接
- 圆形图片2不支持xutils
- Android Studio自动提取控件Style样式
- 送几款混互联网江湖必备的利器
- xlistView自定义组件
- walker注册界面
- 虚拟机中的MacOSX 如何扩容
- 魔鬼在细节中
- 海思Hi3520开发环境搭建
- 新浪登录