首页 文章 精选 留言 我的

精选列表

搜索[TDP云声计划],共10000篇文章
优秀的个人博客,低调大师

开源计划之--Android绘图库--LogicCanvas

零、前言: 安卓图形绘制一直以来感觉都很繁琐 在html5时,我用JavaScript封装了一个HTML5的canvas库。 HTML5感觉和Android的canvas挺相似,所以考虑移植过来。 绘图库核心是用配置信息绘图,通过逻辑运算绘图 本篇会持续更新,记录LogicCanvas的成长历程 原理简单示意图: 绘制一个五角星的过程.png 引入 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } implementation 'com.github.toly1994328:logic-canvas-android:0.01' 一、以一个五角星来引入 在自定义View的onDraw方法中:绘制外接圆半径100,内接圆半径50,填充色黄色的5角星 ZCanvas zCanvas = new ZCanvas(canvas); zCanvas.drawNStar( new Painter() .num(5)//角的个数,数字任意 .R(100f)//外接圆半径 .r(50f)////内接圆半径 五角星演示.png 二、公有属性演示: 所谓公有属性是指所有绘制图形适用的属性:包括 线条粗细(b)、线条颜色(ss)、填充颜色(ss)、 位移(p)、坐标系(coo)、旋转(rot)、缩放(sx,sy)屏幕适配dp单位(dp) 属性 默认值 简介 备注 p Pos(0,0) 图形距画布左顶点偏移量 rot 0 旋转角度 弧度制 sx 0 x缩放 sy 0 y缩放 coo Pos(0,0) 修改坐标系 平移、缩放、旋转使用 a Pos(0,0) 修改锚点 b 1 线条粗 ss "#000000" 线条样式 - fs "#0000ff" 填充样式 - dp - dp单位 在链式末尾调用 1.位移: p 参数类型:Pos 注:为了和数学更好契合,采用笛卡尔坐标系(上右正),默认屏幕左上角(0,0)点 为了明显,使用工具栏绘制网格参考 zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .p(new Pos(200, -100)));//位移X,Y 位移p.png 2.坐标系:为了支持坐标系,可是煞费苦心啊! coo 参数类型:Pos 为了明显,使用工具栏绘制坐标系参考 注意:使用坐标系后、平移、旋转、缩放都会根据新的坐标系来 zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .coo(new Pos(600, 200))//设置坐标系 ); 坐标系coo.png 3.描边颜色、粗细 ss 描边颜色 参数类型:int (颜色) b 描边粗细 参数类型:int zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .p(new Pos(200, -100)) .ss(Color.RED)//描边颜色 .b(5f)//描边线条粗细 ); 描边,颜色.png 4.旋转:思考良久,单位还是采用:角度数吧 rot 旋转 参数类型:Float zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .ss(Color.RED) .coo(new Pos(600, 200)) .rot(90f)//设置旋转 ); 旋转.png 5.缩放: sx、sy 缩放比例 参数类型:Float zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .ss(Color.RED) .coo(new Pos(600, 200)) .sx(1.5f) .sy(1.5f) ); 缩放.png 6.锚点: coo 参数类型:Pos zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .ss(Color.RED) .coo(new Pos(600, 200)) .a(new Pos(100, 100)) .sx(1.5f) .sy(1.5f) ); 修改参照点放大.png 7.填充 fs 描边颜色 参数类型:int (颜色) zCanvas.drawNStar(new Painter() .num(5) .R(100f) .r(50f) .coo(new Pos(600, 200)) .fs(Color.YELLOW) ); 填充.png 8.dp单位适配 下面蓝色是没有适配的,黄色是适配的,蓝色在不同分辨率产生差异,黄色则正常显示 zCanvas.drawNStar(new Painter() .num(5) .R(20f) .r(10f) .fs(Color.YELLOW) .dp(mContext) ); dp适配.png 公共属性展示到这里,持续更新,敬请关注 更新时间:2018-09-12:10:25LogicCanvas-项目地址:github 二、直线绘制: 特有属性:ps 参数类型 不定个数的Pos。 再次强调:默认使用的是0,0为原点的笛卡尔坐标系 1.单线条 zCanvas.drawLines( new Painter() .b(5f) .ps(new Pos(0, 0), new Pos(200, -200)) ); 绘制单直线.png 2.多线条 zCanvas.drawLines( new Painter() .b(5f) .ps( new Pos(0, 0), new Pos(200, -200), new Pos(200,-400), new Pos(200,-400), new Pos(800,-400), new Pos(0,0) ) ); 绘制多线条.png 三、绘制矩形: 参数 : x 矩形宽 y:矩形高 r:矩形圆角 zCanvas.drawRect( new Painter() .x(1000/2f).y(618/2f).r(50f) .b(5f).ss(Color.RED).p(new Pos(100,-100)) ); 绘制矩形.png 四、画圆: dir true 逆时针方向绘制--默认 r 半径 zCanvas.drawCircle( new Painter() .r(100f) .b(5f).ss(Color.RED) .p(new Pos(200,-200)) 画圆.png 五、绘制弧线 zCanvas.drawArc( new Painter() .r(100f).ang(135f) .b(1f).ss(Color.RED) .p(new Pos(200,-100)) ); 绘制弧线.png 六、正多边形和正多角形 for (int i = 5; i < 10; i++) { zCanvas.drawRegularPolygon( new Painter() .num(i).R(80f) .b(4f) .p(new Pos(20+210*(i-5),-20))); zCanvas.drawRegularStar( new Painter() .num(i).R(80f) .b(4f) .p(new Pos(20+210*(i-5),-220))); } 绘制正多边形和正多角星.png 多角星分析图 展示到这里,持续更新,更多功能敬请期待 更新时间:2018-09-12:13:25LogicCanvas-项目地址:github 本文由张风捷特烈原创,转载请注明更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com 你的喜欢与支持将是我最大的动力

优秀的个人博客,低调大师

IDC:55%企业计划引入物联网

伴随网络连接技术的飞速发展,人与物、物与物之间的连接越来越多,物联网技术与设备正逐步渗透到各行各业之中。根据市调机构IDC近日最新发表的“物联网年度报告”表示,由于物联网市场的日趋成熟,覆盖范围也已超越其最初所设定的领域,开始逐步向其他领域延伸。有鉴于此,目前有超过55%的企业表示,未来将把物联网战略引入到业务当中,做为有效提升竞争的手段之一。 该报告结果是基于2016年7到8月份所展开的一项调查,此次调查总计在25个国家,访问了超过4500名企业员工数量超过100名以上公司决策高层。其内容显示55%的受访者认为,将物联网战略引到业务中来,是一种更为有效地竞争手段。而有21%的受访者认为导入物联网机制是一种“变革”。而且,他们洞悉物联网,并笃信承诺,甚至正在寻找合适的投资方案。 在进行物联网业务投资的主要因素上,有24%的受访者认为能够提高工作效率,22.5%的认为可以“加快产品的上市时间”,另有21.7%的认为可以加快自动化进程。IDC对此指出,内部管理和运营绩效仍旧是推动物联网部署的主要原因。但是,在2016年的报告中,成熟市场依靠物联网来“降低成本”的情况与往年相比并没有提高。而“加快产品的上市时间”的概念,则是在2016年首次出现。 不过需要注意的是,虽然物联网技术、方案备受推崇,但是物联网现在所面临的挑战依旧更多,如26%仍集中在安全上,21%则强调隐私,22%的企业在前期投资成本上犹豫不决,还有19%的企业会在意持续成本的投资。而关注IT基础设施和物联网技术的企业则个别占有16%与14%。 目前,不同企业在应对物联网安全挑战时,23%的企业赞成整合到物联网工作下的安全处理模式。而21%的企业则认为,在设备层与层之间设置防火墙,用以降低安全风险。还有20%的企业想借助现有的IT安全性架构来抵御威胁。 在报告中,IDC还指出了未来最想部署物联网的行业,积极者包括金融服务(包括保险)、零售与制造业。而相对滞后的行业则包括政府、医疗机构和公共事业部门等等。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册