位置: 编程技术 - 正文

android游戏开发Bitmap的使用(Android游戏开发入门)

编辑:rootadmin
Bitmap是Android系统中的图像处理的最重要的类之一。用Bitmap可以获取图像文件信息,对图像进行旋转,剪切,放大,缩小等操作。在Android SDK中可以支持的图片&#;式如下:png , jpg , gif和bmp。一 创建1 从资源中获取位图1.1 使用BitmapDrawable获取位图a 使用BitmapDrawable (InputStream is)构造一个BitmapDrawable;b 使用BitmapDrawable类的getBitmap()获取得到位图;1.2 使用BitmapFactory获取位图BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图。decodeByteArray(byte[] data, int offset,int length)从指定字节数组的offset位置开始,将长度为length的字节数据解析成Bitmap对象。decodeFIle(String pathName)从pathName指定的文件中解析、创建Bitmap对象。decodeFileDescriptor(FileDescriptor fd)用于从FileDescriptor对应的文件中解析、创建Bitmap对象。decodeResource(Resource res,int id)用于根据给定的资源ID从指定的资源文件中解析、创建Bitmap对象。decodeStream(InputStream is)用于从指定输入流中介解析、创建Bitmap对象。例如:在系统不断的解析、创建Bitmap的过程中,可能会由于内存小或其他原因,导致程序运行时发生OutOfMemory错误。为此,Android为Bitmap提供了内存回收方法:void recycle();强制回收Bitmap对象。boolean isRecycle();判断Bitmap 对象是否被回收的方法:二 获取位图的信息public final int getWidth()获取位图的宽度 public final int getHeight()获取位图的高度 public final boolean isMutable()图片是否可修改 public int getScaledWidth(Canvas canvas)获取指定密度转换后的图像的宽度 public int getScaledHeight(Canvas canvas)获取指定密度转换后的图像的高度 public boolean compress(CompressFormat format, int quality, OutputStream stream)——按指定的图片&#;式以及画质,将图片转换为输出流。 format:Bitmap.CompressFormat.PNG或Bitmap.CompressFormat.JPEG quality:画质,0-.0表示最低画质压缩,以最高画质压缩。对于PNG等无损&#;式的图片,会忽略此项设置。 另外补充两点:在Bitmap中对RGB颜色&#;式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_、ARGB_、RGB_,缺少了一些其他的,比如说RGB_,在开发中可能需要注意这个小问题;Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG&#;式的压缩;其他&#;式的需要Android开发人员自己补充了。三 显示位图显示位图可以使用核心类Canvas,通过Canvas类的drawBirmap()显示位图。或者借助于BitmapDrawable来将Bitmap绘制到Canvas。当然,也可以通过BitmapDrawable将位图显示到View中。1 转换为BitmapDrawable对象显示位图2 使用Canvas类显示位图四 位图缩放1 将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样:drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)。2 在原有位图的基础上,缩放原位图,创建一个新的位图:CreateBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)3 借助Canvas的scale(float sx, float sy) (Preconcat the current matrix with the specified scale.),不过要注意此时整个画布都缩放了。4 借助Matrix:五 位图旋转同样,位图的旋转也可以借助Matrix或者Canvas来实现。参考文章:

推荐整理分享android游戏开发Bitmap的使用(Android游戏开发入门),希望有所帮助,仅作参考,欢迎阅读内容。

android游戏开发Bitmap的使用(Android游戏开发入门)

文章相关热门搜索词:Android游戏开发实训总结,Android游戏开发教程,Android游戏开发教程,Android游戏开发读后感,Android游戏开发读后感,Android游戏开发入门,Android游戏开发实训总结,Android游戏开发实训总结,内容如对您有帮助,希望把文章链接给更多的朋友!

android游戏开发之我的小小游戏1——五子棋游戏2之判断输赢 在这里判断输赢主要就是判断有没有在横向、纵向、左斜向、右斜向四个方向有五个同一种颜色的棋子连在一起,判断的思路就是扫描二维数组,看在

android游戏开发之我的小小游戏1——五子棋游戏3之悔棋与重新开始 首先我们在画板上绘制两个按钮,我们用两张图片表示,一张代表悔棋,一张代表重新开始,我们用LinkedList来存储我们操作的每个步骤,然后从LinkedList

android游戏开发之我的小小游戏1——五子棋游戏4之电脑下棋、人机对战算法 在棋类游戏中最难的便是人机对战电脑的AI算法了,算法设计的好坏将严重的影响游戏的趣味程度,关于五子棋的相关算法,讨论的人也比较多。在我们

标签: Android游戏开发入门

本文链接地址:https://www.jiuchutong.com/biancheng/368634.html 转载请保留说明!

上一篇:android游戏开发中图形绘制:Canvas和Paint的使用(Android游戏开发入门)

下一篇:android游戏开发之我的小小游戏1——五子棋游戏2之判断输赢(Android游戏开发教程)

  • 小规模纳税人应交税费的二级科目
  • 盘盈盘亏处理意见和建议
  • 不动产服务具体有哪些
  • 分公司没有业务季报怎么处理
  • 已导出的申报表如何修改
  • 小规模纳税人企业所得税起征点
  • 融资租赁承租方会计账务处理流程
  • 个体工商户需要缴纳哪些税
  • 小规模纳税人可以开数电专票吗
  • 工程用油计入什么科目
  • 开办公用品发票需要清单吗
  • 过期没有进行申报印花税会怎样
  • 开给个人的通讯费发票能下账吗
  • 员工一次性赔偿怎么算
  • 公司自建房产的房产证
  • 租房中介费计入租赁费吗
  • 民办学校会计分录 百度网盘
  • 软件开发增值税即征即退2022
  • 什么是财政代管资金
  • 本月暂估成本的会计分录
  • 如何使用u盘安装软件
  • npscheck.exe - npscheck是什么进程 有什么用
  • PHP:mb_encode_mimeheader()的用法_mbstring函数
  • 查补的增值税能抵留抵吗
  • 差额征收增值税 取得的进项可否抵扣
  • php精彩编程200例
  • 工程复工程序是什么
  • 现金支付医保报销
  • 当财务报表中列报对应数据时
  • 纳税人跨县(市、区)提供建筑服务,应向建筑服务发生地
  • 外币存款业务
  • 进项已认证后冲红又重开
  • 凯斯西储大学在哪个城市
  • cookie与session的作用和原理
  • javascript控制语句
  • python中sys模块
  • 保单的增值税发票能抵税吗
  • 销售收入和销售收入净额的区别
  • 银行日记账怎么做账
  • short int、long、float、double使用问题说明
  • 应交税费为什么写在借方
  • 待处理财产损益是什么类科目借贷方向
  • 教育培训行业人员
  • 销售金银首饰增值税和企业所得税
  • 零申报步骤
  • 个人新冠肺炎确诊,要和单位领导说吗
  • 私企固定资产报废程序
  • 实际出资大于注册资金
  • 固定资产盘亏账务处理的问题
  • 财政补助结转结转的依据
  • 水利基金和印花税的计税依据一样吗
  • 企业给员工单独交社保
  • 请问母公司如何称呼
  • 开空头发票犯法吗
  • 资产计提减值如何进行账面记录
  • 资产评估增值的调整方法
  • 房地产开发企业资质管理规定
  • 企业购买原材料属于投资吗
  • 高新技术企业福利
  • 预付账款怎么转
  • 小规模纳税人的认定标准是什么
  • 原始凭证填制要点在原始凭证上书写阿拉伯数字正确的有
  • 属于费用类的会计科目有哪些
  • mac升级最新系统会卡么
  • imac 2010 cpu
  • 磁盘限制
  • 安装双系统之后win10进不去
  • windows7宽带连接断开怎么办
  • java的gui框架
  • linux查找功能
  • NGUI之UIGrid
  • 原生javascript+css3编写的3D魔方动画旋扭特效
  • javascript中有哪些数据类型
  • js类继承的例子
  • javascript toggle
  • 猫猫的娱乐
  • js的ajax请求写法
  • js proto prototype
  • 税务工作秘密管理暂行办法
  • 纳税是什么税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设