绘制圆环其实很简单,有大概以下三种思路. 这里先说网上提到的一种方法。思路是先绘制内圆,然后绘制圆环(圆环的宽度就是paint设置的paint.setStrokeWidth的宽度),最后绘制外圆。
请看核心源码:
复制代码 代码如下:
<SPAN xmlns="http://www.w3.org/1999/xhtml">package yan.guoqi.rectphoto;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.ImageView;
public class DrawImageView extends ImageView {
private final Paint paint;
private final Context context;
public DrawImageView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
this.context = context;
this.paint = new Paint();
this.paint.setAntiAlias(true); //消除锯齿
this.paint.setStyle(Style.STROKE); //绘制空心圆或 空心矩形
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
int center = getWidth()/2;
int innerCircle = dip2px(context, 83); //内圆半径
int ringWidth = dip2px(context, 10); //圆环宽度
// 第一种方法绘制圆环
//绘制内圆
this.paint.setARGB(255, 138, 43, 226);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, innerCircle, this.paint);
//绘制圆环
this.paint.setARGB(255, 138, 43, 226);
this.paint.setStrokeWidth(ringWidth);
canvas.drawCircle(center, center, innerCircle + 1 +ringWidth/2, this.paint);
//绘制外圆
this.paint.setARGB(255, 138, 43, 226);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, innerCircle + ringWidth, this.paint);
super.onDraw(canvas);
}
/* 根据手机的分辨率从 dp 的单位 转成为 px(像素) */
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}
</SPAN>
总结:
1,这种分三次来绘制的方法,可以将圆环的内圆 圆环 和外圆的颜色设成不一样的,对paint进行三次设置。还可以将绘制圆环的paint透明度设成10左右就会有圆环透明的效果。
2,三次绘制时的canvas.drawCircle圆心都是(center,center),但三次半径确实不一样的。尤其是第二次绘制圆环的时候,半径是innerCircle + 1 +ringWidth/2。这里的加1是第一次外圆paint.setStrokeWidth(2);宽度设成2,也就是说单条线的宽度1。后面的ringWidth/2也是同理。
示例如下(底色是预览摄像头的视频):
相关推荐:
如何识别文章是否由AI撰写?揭开智能写作的秘密
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
AI生成网页模板,轻松打造专业网站,ai网格画法
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
SEO挣钱之道:如何通过SEO实现网络盈利,宁晋网站建设商家
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
OpenAI新产品与现有技术的完美结合:赋能未来的智能变革,培训 ai
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
seo简报什么意思,seo工作汇报 ,万花筒 ai
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
360AI写作怎样?助力创作的新风尚,ai到访
AI.生成重新定义创造力的新纪元
ChatGPT不能打开EL?揭秘这一困扰背后的真相与解决方案,ai被动房
人工AI软件的未来:智能时代的创新驱动力
AI人工智能:开发与应用的必备软件推荐
打破创作边界,无限可能无限制生成文章的AI
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
什么是seo手段,seo的具体手段 ,中国ai 企业
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
什么是seo如何进行seo,何谓seo ,红米的AI摄影什么意思
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
SEO人工优化-让你的网页轻松登上搜索引擎首页,ai主母
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
SEO软优化:助力网站实现流量爆发的秘密武器,延平区网页seo
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
未来写作新模式文章撰写AI如何助力内容创作
如何用AI写公众号文章?让创作更高效、更轻松
AI写作免费一键生成5000字:高效创作的革命性工具
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
怎么查一篇文章是不是AI写的?你需要这几个关键方法!
怎么让AI润色文章,让写作更轻松?
SEO怎么设置:让你的网站快速登上搜索引擎首页的秘密,Ai压印分色
Bing搜索的注意事项-提高搜索效率与准确性,轻松获取所需信息,最近ai写作软件推荐
ChatGPT-01:开创人工智能新纪元,AI如何画模糊的云层
怎么使用AI生成文章,轻松提升写作效率!
2025百度收录优化:提升网站排名,助力企业数字化转型,第一ai做
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务