没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
前言 相信大家在Android日常开发中,绘制圆形和绘制图片都是很容易的事情,但是绘制圆形图片就有点难倒人了。以前为了偷懒就直接去github上找一个开源项目,后来才发现绘制圆形图片其实也是很简单的事。 绘制圆形图片也需要两个步骤: 绘制圆形和绘制图片,只不过要让它们取并集,得到的结果就是一张圆形图片了。 直接上代码: public class CircleImageView extends View { private Paint mPaint; private Paint mTargetPaint; private Bitmap mSourceBitmap; private Bi
资源推荐
资源详情
资源评论
Android图像处理之绘制圆形、三角形及扇形的头像图像处理之绘制圆形、三角形及扇形的头像
前言前言
相信大家在Android日常开发中,绘制圆形和绘制图片都是很容易的事情,但是绘制圆形图片就有点难倒人了。以前为了偷懒
就直接去github上找一个开源项目,后来才发现绘制圆形图片其实也是很简单的事。
绘制圆形图片也需要两个步骤:绘制圆形图片也需要两个步骤:
绘制圆形和绘制图片,只不过要让它们取并集,得到的结果就是一张圆形图片了。
直接上代码:直接上代码:
public class CircleImageView extends View {
private Paint mPaint;
private Paint mTargetPaint;
private Bitmap mSourceBitmap;
private Bitmap mTargetBitmap;
private Canvas mTargetCanvas;
private int mWidth;
private int mHeight;
public CircleImageView(Context context) {
this(context, null);
}
public CircleImageView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CircleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTargetPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTargetPaint.setXfermode(new PorterDuffXfermode(SRC_IN));
mSourceBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xiaojiangshi);
mTargetBitmap = Bitmap.createBitmap(mSourceBitmap.getWidth(), mSourceBitmap.getHeight(),
Bitmap.Config.ARGB_8888);
mTargetCanvas = new Canvas(mTargetBitmap);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mWidth = w;
mHeight = h;
}
@Override
protected void onDraw(Canvas canvas) {
// 生成圆形Bitmap过程.
int radius = Math.min(mWidth, mHeight) / 2;
// 先绘制圆形
mTargetCanvas.drawCircle(mWidth / 2, mHeight / 2, radius, mPaint);
// 再绘制Bitmap
mTargetCanvas.drawBitmap(mSourceBitmap, 0, 0, mTargetPaint);
canvas.drawBitmap(mTargetBitmap, 0, 0, null);
}
}
效果如下:效果如下:
资源评论
weixin_38625442
- 粉丝: 6
- 资源: 950
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享多核处理器构架的高速JPEG解码算法很好的技术资料.zip
- 技术资料分享第24章 性能和资源占用很好的技术资料.zip
- 技术资料分享第23章 LCD驱动API函数很好的技术资料.zip
- 技术资料分享第22章 LCD驱动程序很好的技术资料.zip
- 技术资料分享第21章 高层次配置很好的技术资料.zip
- 技术资料分享第20章 底层配置很好的技术资料.zip
- 技术资料分享第19章 与时间相关的函数很好的技术资料.zip
- 技术资料分享第18章 输入设备很好的技术资料.zip
- 技术资料分享第17章 Shift-JIS支持很好的技术资料.zip
- 技术资料分享第16章 Unicode很好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功