Android绘制几何图形详解
Android绘制几何图形
1.绘制几何图形
圆,弧,椭圆,矩形,点,三角形等。
Paint paint= new Paint();
paint.setColor(Color.YELLOW); //设置画笔
canvas.drawCircle(x, y, r, paint); //绘制圆形
2.绘制文字
drawText(String text, float x, float y, paint); //在指定的起始位置绘制文字
drawPosText(String text, float[]pos, paint ); //在指定位置数组,每组数据对应1个字的文字
3.绘制路径-Path类
addArc(xxx); //添加弧形路径
addCircle(x, y, r, dir); //添加圆形路径
moveTo(x, y); //移动到起点
close(); //闭合路径
canvas将路径绘制在画布上:
canvas.drawPath(path, paint); //绘制路径
canvas.drawTextOnPath(string, path, hOffset, vOffset, paint); //绘制路径文字
4.绘制图片
drawBitmap(Bitmap source, Rect1, Rect2, paint); //从源位图挖取一块
drawBitmap(Bitmap source, x, y, paint); //从指定点绘制位图
//
ImageView iv=findViewById(R.id.iv1);
BitmapDrawable b=(BitmapDrawable) iv.getDrawable();
if(b!=null&&!b.getBitmap().isRecycled()){ //销毁资源
b.getBitmap().recycle();
}
5.其它:
invalidate()触发onDraw()方法进行绘制。
context.getResources().getDisplayMetrics().widthPixels; //获取屏幕的宽度
触摸时间处理:
ACTION_DOWN: path.moveTo(x, y) //移动到起始点
ACTION_MOVE: path.quadTo(x1, y1, x2, y2) //跟随路径.
ACTION_UP: canvas.drawPath(path, paint); path.reset(); //绘制路径
将图片保存到文件中(png格式):
FileOutputStream os=new FileOutputStream(file); //创建流
bitmap.compress(Bitmap.CompressFormat.PNG, 100, os); //定义格式,输出流
os.flush(); //写文件
6.使用选项菜单
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater=new MenuInflater(this); //实例化MenuInflater对象
inflater.inflate(R.menu.toolsMenu, menu); //解析菜单文件
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){ //菜单项被选择时,作相应的处理
//xxx
}
Android绘制几何图形详解相关推荐
- Android之canvas详解
首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...
- Android开发 ShapeDrawable详解
Android开发 ShapeDrawable详解 前言 ShapeDrawable一开始我以为它是对应xml文件属性里的shape的画图,后来发现我错了... 其实ShapeDrawable更像是一 ...
- Android 动画框架详解,第 1 部分
2019独角兽企业重金招聘Python工程师标准>>> Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框 ...
- 《Android游戏开发详解》一1.1 什么是编程
本节书摘来异步社区<Android游戏开发详解>一书中的第1章,第1.1节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.1 ...
- android开发照相机啊,Android照相机开发详解(一)
Android相机开发详解(一) Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的 ...
- Android Text文字详解
Android Text文字详解 1.绘制文字 1.1 普通绘写文字 1.2 单独指定每个文字的位置 1.3 沿路径绘写文字 2.字体样式 2.1 Paint相关样式 2.2 Typeface字体样式 ...
- Android SystemUI 架构详解
Android SystemUI 架构详解 本文描述Android系统中一个核心应用SystemUI,详细赘述SystemUI中几大模块功能的实现过程.由于作者水平有限,如发现本文中错误的地方,欢迎指 ...
- Android openGl开发详解(二)
https://zhuanlan.zhihu.com/p/35192609 Android openGl开发详解(二)--通过SurfaceView,TextureView,GlSurfaceView ...
- Android openGl开发详解(二)——通过SurfaceView,TextureView,GlSurfaceView显示相机预览(附Demo)
最近公司在做自定义相机这一块,之前使用的是第三方,后来需求变更,第三方不支持添加动态贴纸,所以只能自己扩展.当然网上有很多例子,但是关于添加动态贴纸的例子几乎找不到,反正我是没找到(欲哭无泪).当然, ...
- Android相机开发详解(一)
Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的csdn博客) Android相机 ...
最新文章
- 【C++】【四】企业链表
- 麦当劳数字化转型中获得的6个数据科学经验
- awk 内置变量与自定义变量
- b转换成mb php_攻防世界之WEB篇,php反序列化漏洞,网络安全入门篇
- module 'torch.jit' has no attribute 'unused'
- Python教程:os 与 sys 模块详细用法
- 数据类型(Python)
- java输出文件中匹配的字段_Java如何从文件中打印与给定模式匹配的所有字符串?...
- Docker Centos安装Openssh
- 【颗粒归仓】(四)代码走查工具---StyleCop
- 如何关闭135,139,445高危端口
- 如何提高阿里云商标注册的成功率?(经验分享)
- 理解蓝绿发布、灰度发布和滚动发布
- Pygame 打字游戏项目
- 什么是 360 评估?
- TCPIP卷一(8):EIGRP的组建和邻居状态机
- java中io流,Reader和Writer,InputStream和OutputStream,转换流 InputStreamReader 和 OutputStreamWriter
- Salesforce诊断网络问题以排除性能下降
- 这种MOS管的拆装方法,你知道嘛
- 使用皮皮影院搭建电影展
热门文章
- 每日一面 - 为何hashmap默认的负载因子是0.75?应该是空间和时间的折中,背后的统计原理是什么呢?
- 2020中国公关公司30强排行榜(记录)
- Github上3.5k star 的微博爬虫,很赞!
- 这么简单的道理,猩猩都懂,我们却忘了
- ptp输出内容包含什么_PTP 无线传输
- c语言学习笔记(持续更新中)
- python登录qq邮箱爬邮件_python3+selenium实现qq邮箱登陆并发送邮件功能
- Dubbo-自适应扩展机制之Adaptive注解原理
- 美国人口统计数据MATLAB,根据表的数据,完成下列数据拟合问题:美国人口统计数据 年份 1790 1800 1810 1820 1830 1840...
- 基于Mono.Cecil的静态注入