我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android中Canvas的常用方法总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android中Canvas的常用方法总结

一、对Canvas进行操作

对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。

这些操作可以让Canvas对象使用起来更加便捷。

二、Canvas平移



 canvas.translate(100, 50);

三、Canvas缩放



canvas.scale(2, 4);

canvas.scale(2, 4,100,100);


四、Canvas旋转



canvas.rotate(30);

canvas.rotate(30,100,100);


五、Canvas操作例子


 Paint p = new Paint();
 p.setColor(Color.argb(50,255,100,100));
 canvas.drawRect(0,0,200,200,p); // 以原始Canvas画出一个矩形1
 canvas.translate(300,300); // 将Canvas平移 (100,100)
 p.setColor(Color.argb(50,100,255,100));
 canvas.drawRect(0,0,200,200,p); // 矩形2
 canvas.rotate(30); //将Canvas旋转30
 p.setColor(Color.argb(50,100,0,255));
 canvas.drawRect(0,0,200,200,p); // 矩形3
 canvas.scale(2, 2); // 将Canvas以原点为中心,放大两倍
 p.setColor(Color.argb(50,255,255,0));
 canvas.drawRect(0,0,200,200,p); // 矩形4

六、Canvas保存和还原

Canvas提供了几个方法,让我们可以方便的对Canvas的状态进行更改和还原。

这些方法是:

save() 
restore() 
restoreToCount(int saveCount)

我们在对Canvas进行平移、旋转、放大等操作时候,可以调用

save()
方法,将当前修改过的Canvas状态进行保存,调用
restore() 
方法后,会将Canvas还原成最近的一个
save() 
的状态。

save()
方法还会有一个返回值,我们也可以调用
restoreToCount(int saveCount)
方法,将这个返回值作为参数传递进去,就可以将Canvas还原成某一个特定的
save()
状态。


 canvas.translate(100,100); // 平移(100,100)
 int save1 = canvas.save(); // 保存Canvas状态(状态1)
 canvas.scale(2, 2); // 放大2倍
 int save2 = canvas.save(); // 保存Canvas状态(状态2)
 canvas.restore(); // 返回最新的save状态,即状态2
 canvas.restoreToCount(save1);// 手动指定的返回到 状态1

六、Canvas画图实例

1、画文字


 
canvas.drawText("开始写字了!",50, 50, p);// 画文本 
 
canvas.drawText("开始写字了!",2,5, 50, 50, p);// 画文本,结果为:“写字了” 
 
canvas.drawTextOnPath("1234567890101123123", path, 0, -50, p);

2、画圆


   
canvas.drawCircle(200, 200, 100, p);

3、画线


 
canvas.drawLine(100, 100, 300, 300, p);// 画线 
 
canvas.drawLines(new float[]{100,100,200,200,200,100,300,100}, p);

4、画椭圆


 
RectF oval = new RectF(150, 200, 500, 400);// 画一个椭圆 
canvas.drawOval(oval, p);

5、画弧度


 
canvas.drawArc(oval, 20, 180, false, p);

6、矩形


 
canvas.drawRect(100,100, 200, 200, p); 
//画圆角矩形 
RectF oval3 = new RectF(80, 260, 200, 300);// 设置个新的长方形 
canvas.drawRoundRect(oval3, 20, 5, p);//第二个参数是x半径,第三个参数是y半径

7、多边形


 
Path path = new Path(); // 路径对象 
path.moveTo(80, 200);// 此点为多边形的起点 
path.lineTo(120, 250); 
path.lineTo(80, 250); 
//.... 可以添加多个点。构成多边形 
path.close(); // 使终点和起点链接,构成封闭图形 
  canvas.drawPath(path, p);

8、画贝塞尔曲线


p.setStyle(Style.STROKE); 
Path path2=new Path(); 
path2.moveTo(100, 100);//设置Path的起点 
 
path2.quadTo(300, 100, 400, 400); //设置贝塞尔曲线的控制点坐标和终点坐标 
path2.quadTo(500, 700, 800, 800); 
canvas.drawPath(path2, p);//画出贝塞尔曲线

9、画点


 
canvas.drawPoint(60, 390, p);//画一个点 
 
canvas.drawPoints(new float[]{60,400,65,400,70,400}, p);//画多个点

10、画图片


Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 
 
canvas.drawBitmap(bitmap, 200,300, p);

七、总结

以上就是这篇文章的全部内容,希望对大家的学习或者工作能有一定的帮助,如果有疑问可以留言留言。

您可能感兴趣的文章:Android实现渐变色的圆弧虚线效果Android TextView(圆弧)边框和背景实例详解Android 自定View实现仿QQ运动步数圆弧及动画效果Android使用ImageView 制作透明圆弧实例代码Android 游戏开发之Canvas画布的介绍及方法Android开发之图形图像与动画(一)Paint和Canvas类学习Android使用Canvas绘制圆形进度条效果Android中Paint类和Canvas类的方法汇总Android 中View.onDraw(Canvas canvas)的使用方法利用Android画圆弧canvas.drawArc()实例详解


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android中Canvas的常用方法总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中Canvas的常用方法总结

一、对Canvas进行操作对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。这些操作可以让Canvas对象使用起来更加便捷。 二、Canvas平移/** * 画布向(100,50)方向平移 * * 参数1: 向X轴方
2022-06-06

JavaScript中Object的常用方法总结

这篇文章主要为大家整理了7个JavaScript中Object的常用方法的使用,文中的示例代码讲解详细,对我们掌握JavaScript有一点的帮助,感兴趣的可以了解一下
2023-02-10

Android中Paint类和Canvas类的方法汇总

Paint类的常用的方法 1.setColor方法,用于设置画笔的颜色, public void setColor(int color)//参数color为颜色值,也可以使用Color类定义的颜色 Color.BLACK:黑色 Color.
2022-06-06

Java中String类的常用方法总结

java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例。本文主要为大家介绍了String类的常用方法,需要的可以参考一下
2022-11-13

Android中ListView的几种常见的优化方法总结

Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法:首先我们给出一个没有任何优化的Listview的Adapter类,我们这里都继承自BaseAdapte
2022-06-06

Android onCreateOptionsMenu的使用方法总结

Android onCreateOptionsMenu的使用方法总结任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCre
2023-05-30

Android WebView的使用方法总结

Android WebView的使用方法 Android app打开H5页一般要实现如下需求:1、打开指定url网页;2、点击链接可以跳转到下一页,并更新标题;3、按back键或左箭头可以返回上一页;4、当webview显示的是第一级u
2023-05-30

JavaScript中字符串的常用方法总结

这篇文章主要为大家总结了一些JavaScript中字符串的常用方法,文中的示例代码讲解详细,对我们学习JavaScript有一定的帮助,需要的可以参考一下
2022-12-08

Qt中QStringList与QString的常用方法总结

这篇文章主要为大家总结了Qt中QString与(QStringList|QByteArray)之间的转换,以及QString、QStringList的一些常用方法,感兴趣的可以收藏一下
2022-12-08

java中optional的一些常用方法总结

Java8引入了一个非常强大的特性就是Optional类,其主要解决的问题就是我们编程时常常遇到的空指针异常,下面这篇文章主要给大家介绍了关于java中optional的一些常用方法,需要的朋友可以参考下
2023-05-14

Java Collection接口中的常用方法总结

这篇文章将大概用代码案例简单总结一下 Collection 接口中的一些方法,我们会以他的实现类 Arraylist 为例创建对象。快一起来看看吧
2022-12-08

数组常用方法总结

数组常用方法总结 一.获取数组长度1.1 使用length 二.数组转字符串2.1 Arrays是什么2.2 使用toString() 三. 数组拷贝3.1 使用 copyOf()3.2 copyOfRange() 四.
2023-08-30

Android Notification使用方法总结

Android Notification使用方法总结一. 基本使用1.构造notification NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(a
2023-05-30

Python中列表list常用方法总结

在 Python 中,列表(List)是一种有序的数据集合,可以存储任意类型的数据。本文主要帮大家总结了一下列表list的常用方法,需要的可以参考一下
2023-05-19

Android 布局中的android:onClick的使用方法总结

Android 布局中的android:onClick的使用方法总结Android布局中的 android:onClick=“...”属性设置点击时从上下文中调用指定的方法。该属性值和要调用的方法名称完全一致。一般在Activity定义符合
2023-05-30

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录