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绘制几何图形详解相关推荐

  1. Android之canvas详解

    首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...

  2. Android开发 ShapeDrawable详解

    Android开发 ShapeDrawable详解 前言 ShapeDrawable一开始我以为它是对应xml文件属性里的shape的画图,后来发现我错了... 其实ShapeDrawable更像是一 ...

  3. Android 动画框架详解,第 1 部分

    2019独角兽企业重金招聘Python工程师标准>>> Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框 ...

  4. 《Android游戏开发详解》一1.1 什么是编程

    本节书摘来异步社区<Android游戏开发详解>一书中的第1章,第1.1节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.1 ...

  5. android开发照相机啊,Android照相机开发详解(一)

    Android相机开发详解(一) Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的 ...

  6. Android Text文字详解

    Android Text文字详解 1.绘制文字 1.1 普通绘写文字 1.2 单独指定每个文字的位置 1.3 沿路径绘写文字 2.字体样式 2.1 Paint相关样式 2.2 Typeface字体样式 ...

  7. Android SystemUI 架构详解

    Android SystemUI 架构详解 本文描述Android系统中一个核心应用SystemUI,详细赘述SystemUI中几大模块功能的实现过程.由于作者水平有限,如发现本文中错误的地方,欢迎指 ...

  8. Android openGl开发详解(二)

    https://zhuanlan.zhihu.com/p/35192609 Android openGl开发详解(二)--通过SurfaceView,TextureView,GlSurfaceView ...

  9. Android openGl开发详解(二)——通过SurfaceView,TextureView,GlSurfaceView显示相机预览(附Demo)

    最近公司在做自定义相机这一块,之前使用的是第三方,后来需求变更,第三方不支持添加动态贴纸,所以只能自己扩展.当然网上有很多例子,但是关于添加动态贴纸的例子几乎找不到,反正我是没找到(欲哭无泪).当然, ...

  10. Android相机开发详解(一)

    Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的csdn博客) Android相机 ...

最新文章

  1. 【C++】【四】企业链表
  2. 麦当劳数字化转型中获得的6个数据科学经验
  3. awk 内置变量与自定义变量
  4. b转换成mb php_攻防世界之WEB篇,php反序列化漏洞,网络安全入门篇
  5. module 'torch.jit' has no attribute 'unused'
  6. Python教程:os 与 sys 模块详细用法
  7. 数据类型(Python)
  8. java输出文件中匹配的字段_Java如何从文件中打印与给定模式匹配的所有字符串?...
  9. Docker Centos安装Openssh
  10. 【颗粒归仓】(四)代码走查工具---StyleCop
  11. 如何关闭135,139,445高危端口
  12. 如何提高阿里云商标注册的成功率?(经验分享)
  13. 理解蓝绿发布、灰度发布和滚动发布
  14. Pygame 打字游戏项目
  15. 什么是 360 评估?
  16. TCPIP卷一(8):EIGRP的组建和邻居状态机
  17. java中io流,Reader和Writer,InputStream和OutputStream,转换流 InputStreamReader 和 OutputStreamWriter
  18. Salesforce诊断网络问题以排除性能下降
  19. 这种MOS管的拆装方法,你知道嘛
  20. 使用皮皮影院搭建电影展

热门文章

  1. 每日一面 - 为何hashmap默认的负载因子是0.75?应该是空间和时间的折中,背后的统计原理是什么呢?
  2. 2020中国公关公司30强排行榜(记录)
  3. Github上3.5k star 的微博爬虫,很赞!
  4. 这么简单的道理,猩猩都懂,我们却忘了
  5. ptp输出内容包含什么_PTP 无线传输
  6. c语言学习笔记(持续更新中)
  7. python登录qq邮箱爬邮件_python3+selenium实现qq邮箱登陆并发送邮件功能
  8. Dubbo-自适应扩展机制之Adaptive注解原理
  9. 美国人口统计数据MATLAB,根据表的数据,完成下列数据拟合问题:美国人口统计数据 年份 1790 1800 1810 1820 1830 1840...
  10. 基于Mono.Cecil的静态注入