Canvase 绘制圆图,用于请求网络数据
来源:互联网 发布:java final修饰数组 编辑:程序博客网 时间:2024/06/03 18:43
自定义MyImageView类,继承ImageView
package com.bwie.test.view;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.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;public class MyImageView extends ImageView {public MyImageView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr);}public MyImageView(Context context, AttributeSet attrs) { super(context, attrs);}public MyImageView(Context context) { super(context);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(100, 100);}@Overrideprotected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (drawable == null) { return; } if (getWidth() == 0 || getHeight() == 0) { return; } Bitmap b = ((BitmapDrawable)drawable).getBitmap(); if(null == b) { return; } Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true); int w = getWidth(), h = getHeight(); Bitmap roundBitmap = getCroppedBitmap(bitmap, w); canvas.drawBitmap(roundBitmap, 0,0, null); } public static Bitmap getCroppedBitmap(Bitmap bmp, int radius) { Bitmap sbmp; if(bmp.getWidth() != radius || bmp.getHeight() != radius) sbmp = Bitmap.createScaledBitmap(bmp, radius, radius, false); else sbmp = bmp; Bitmap output = Bitmap.createBitmap(sbmp.getWidth(), sbmp.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xffa19774; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, sbmp.getWidth(), sbmp.getHeight()); paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(Color.parseColor("#BAB399")); canvas.drawCircle(sbmp.getWidth() / 2+0.7f, sbmp.getHeight() / 2+0.7f, sbmp.getWidth() / 2+0.1f, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(sbmp, rect, rect, paint); return output; }
}
0 0
- Canvase 绘制圆图,用于请求网络数据
- iOS网络编程(二) 自定义请求网络类----推荐用于需要请求过程片段数据
- 请求网络,绘制ListView
- 一个用于网络请求的类
- 网络数据请求
- qml 请求网络数据
- 网络请求数据解析
- iOS网络数据请求
- 请求网络数据JSON
- 网络请求数据
- 网络请求数据
- 网络数据请求
- 网络异步请求数据
- IOS_UI_网络数据请求
- 从网络请求数据
- 网络数据的请求
- iOS_UI_网络数据请求
- http,请求网络数据
- jsonp详解详情
- 绘制直方图
- 【经典算法】——KMP,深入讲解next数组的求解
- GMap.Net开发之地址解析与路径查找
- VMware 虚拟机下网络参数配置
- Canvase 绘制圆图,用于请求网络数据
- ORACLE在dos管理命令
- Service Intent must be explicit解决方案
- 说说JSON和JSONP区别,也许你会豁然开朗(转载)
- nginx安装
- 2016 ACM赛后总结
- 如何在Android studio项目中查看R.java文件
- windows7 update更新失败,还原更改 解决办法
- android 文件保存数据