android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转
图像的旋转有很多方法,除了常见的使用动画和矩阵,还可以通过操作背景画布本身来旋转
现将正常的图像绘制到画布中,保存一次画布后整体旋转,然后再恢复画布,此时的图像便得到了旋转的效果,google 官方也推荐使用这种方式来旋转图像,效率也高于矩阵旋转,而且相比之下,画布的旋转不容易失真,这一点是非常重要的。
附上实例代码:
// [Neo] 将需要的图像绘制到画布上面
canvas.drawBitmap(picture, 0, 0, null);
// [Neo] 保存一下当前画布,很重要哦
canvas.save();
// [Neo] 旋转 angle 度,起始座标为 0, 0
canvas.rotato(angle, 0, 0);
// [Neo] TODO 做些你需要的其他操作
// ...
// [Neo] 恢复画布
canvas.restore();
若不是在派生的 View 类重写的 onDraw 方法来修改画布的话,其实还可以通过代码直接绘制一个bitmap对象,可参考:
// [Neo] 创建一个空白的 Bitmap,需要指定长和宽哦
Bitmap bitmap = Bitmap.createBitmap(width, height,
rawable.getOpacity() != PixelFormat.OPAQUE ?
Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
// [Neo] 直接拿上面的 Bitmap 作为画布的原材料
Canvas canvas = new Canvas(bitmap);
// [Neo] 然后在画布上面绘制你需要的东东,如果需要旋转,可套用上面的方法
// [Neo] ...
// [Neo] 最后拿着 bitmap 去填充控件就是啦,比如 ImageView
imageView.setImageBitmap(bitmap);
祝好,
斑驳敬上
android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转相关推荐
- Android Studio安卓开发中使用json来作为网络数据传输格式
如果你是在安卓开发中并且使用android studio,要使用json来作为数据传输的格式,那么下面是我的一些经验. 一开始我在android studio中导入那6个包,那6个包找了非常久,因为放 ...
- Android安卓开发中图片缩放讲解
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
- Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤
Qt | Qt For Android.Qt5.14.2安卓开发环境搭建详细步骤 目录 Qt | Qt For Android.Qt5.14.2安卓开发环境搭建详细步骤 1.简介 2.软件下载 1.J ...
- android 最新 九宫格,Android开发中怎么显示一个九宫格图片
Android开发中怎么显示一个九宫格图片 发布时间:2020-11-21 15:09:33 来源:亿速云 阅读:86 作者:Leah 本篇文章给大家分享的是有关Android开发中怎么显示一个九宫格 ...
- Android事件分发机制在实战开发中的应用之一
学习的最终目标就是要学以致用,本文所分享的案例都是自己在公司实战开发过程中的真实案例,现在把它分享出来,希望对初学者有所帮助 版权声明:本文来自门心叼龙的博客,属于原创内容,转载请注明出处:https ...
- Android事件分发机制在实战开发中的应用之二
学习的最终目标就是要学以致用,本文所分享的案例都是自己在公司实战开发过程中的真实案例,现在把它分享出来,希望对初学者有所帮助 版权声明:本文来自门心叼龙的博客,属于原创内容,转载请注明出处:https ...
- android 字体倒影,Android开发中怎么实现一个文字倒影效果
Android开发中怎么实现一个文字倒影效果 发布时间:2020-11-25 17:18:19 来源:亿速云 阅读:140 作者:Leah 这期内容当中小编将会给大家带来有关Android开发中怎么实 ...
- 安卓开发中非常炫的效果集合
安卓开发中非常炫的效果集合 这几天开发的时候,想做一些好看而且酷炫的特效,于是又开始从网上收集各种特效资源.下面给大家一些我喜欢的把,附代码,喜欢的看源代码,然后加到自己项目去把!! 一个开源项目网站 ...
- 安卓开发中的USB转串口通讯
安卓开发中的USB转串口通讯 本文使用GitHub上开源的"hoho.android.usbserial"USB串口库.该库基于"Android USB Host API ...
最新文章
- ptam tracking
- 我的代码为什么看起来像shit?
- Mybatis invalid comparison: java.util.Date and java.lang.String
- 《终身成长》读书笔记(part7)--社会互动是用来学习和享受的,而不是用来评判别人的
- java传递实例_Java方法的参数传递机制实例详解
- JavaScript验证正则表达式大全
- dreamweaver 正则表达式为属性值加上双引号_「前端篇」不再为正则烦恼
- 实战:从Mysql数据库frm文件中,提取表结构创建SQL语句
- html中图片动态效果代码,动态网页设计代码 网页制作动态图片效果源代码
- iOS16 系统更新教程,测试版描述文件下载
- MySQL业务账号需要哪些权限_MySQL 日常运维业务账号权限的控制
- 分子力学无法模拟化学键的断裂的原因
- 2022春招——芯动科技FPGA岗技术面(一面心得)
- “人工智能”•从入门到入土 –导言
- OGG12.1(LINUX) for 11G R2 RAC classical install 经典抽取模式单项同步配置OGG12.1
- java 二元组_java里有类似于二元组之类的数据结构么?
- 导入Excle数据至数据库 “外部表不是预期的格式”错误信息
- 视频剪辑怎么自学?其实剪辑很简单
- 保险公司如何为数字化转型做准备
- 电脑桌面便签提醒事项到期后怎么清除时间设置?
热门文章
- android自定义控件中文乱码,Android笔记--自定义View之组合控件
- 数据库系统概论:第九章 关系查询和关系优化
- 怎么实现事务_你可能知道事务的四大特性,但是不一定知道“事务的实现原理”...
- idea lombok安装后还是标红_小辣椒神器Lombok
- 吉大19秋学期计算机应用基础在线作业,吉大16秋学期《计算机应用基础》在线作业一答案...
- /proc/sysrq-trigger使用说明
- 树莓派+百度api实现人脸识别
- 谈大数据里各子项目搭建时的环境变量配置(深入)
- 实验三_166_张珍珍
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传