位置: 编程技术 - 正文

cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用)

编辑:rootadmin
手游控制安装包的大小是非常重要的,这里介绍一种方法。将带Alpha通道的PNG图片分拆成RGB和Alpha分别保存,其中保存RGB的这张图把它转换成JPG&#;式的文件,保存Alpha图片的就用PNG&#;式的。原理是JPG&#;式的压缩率比较的高可以减小图片的大小,但是它没有Alpha,而Alpha数据单独拎出来一般比较小,所以直接用PNG&#;式来保存。问题是怎样分拆PNG图片,又怎样在程序中怎样将两张图片的数据合并起来以达到和直接用一张带Alpha的PNG图渲染出来是一样的效果。这里提供我自己的方法,给大家参考下,有错误的地方希望大家指出来,谢谢!

推荐整理分享cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos导入图片,cocos2dx 图集,cocos2dx文档,cocos2dx 图集,cocos2djs,cocos2djs,cocos2djs,cocos2djs,内容如对您有帮助,希望把文章链接给更多的朋友!

  1. 将PNG图片分拆,也就是将一张PNG图片生成出一张带RGB的JPG&#;一张带Alpha的PNG,我使用的工具是imagemagick。这里以bg.png为例:

    首先ImageMagick工具提取出Alpha通道,(命令: convert bg.png -channel A -alpha extract bgAlpha.png)

    然后在将bg.png转成JPG&#;式 输出为bg.jpg。jpg&#;式已经不包含Alpha通道,而且jpg的压缩率比较高(这是采用这种方法可以减小图片大小的根本所在)。(convert bg.png bg.jpg)

  这样就得到了bg.jpg 和bgAlpha.png,这两张图片就是我们需要的资源。这样转换之后bg.jpg&#;bgAlpha.png的大小大概比bg.png的 小2~3倍

  2. 在程序中合成

cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用)

   由于在win,Android平台采用的JPG和PNG解析库和IOS上的不同,所以在程序中要分别处理,这里介绍下在IOS上的方法(win和Android平台解析参照CCImage的_initWithJpgData和_initWithPngData 方法,合并和IOS的平台类&#;,不同地方文中会指出), 这个方法添加在CCImage.mm 文件中即可使用(cocos2dx版本是2.2.2)。

   

这个方法执行之后bg.jpg和bgAlpha.png合并完成,当前的CCImage对象生成的纹理就和直接用bg.png初始化后生成的纹理效果是一样的了。

  另外附上一个将png图片分拆成Jpg和Alpha的shell脚本(shell不太熟,将就着用^_^),使用这个脚本的前提是你已经安装了imagemagick,这个脚本运行之后会遍历当前目录下的所有png文件,然后分拆这些文件,并且会删除原png文件。(如果不想删除原png文件,把`rm $src`去掉即可)

 

cocos2dx-js 集成google play service和admob--------错误处理 官方解决方案在这里去google但是有很多细节上面没有提起。如何导入googleservicelib首先将google-play-services_lib拷贝到自己的android工程目录下。千万不要第一

cocos2dx 按钮重复渐变效果的实现 想实现一个按钮,在未选中前进行重复的动画效果,试了下直接发代码吧:boolMenuItemSpritTest::init(){////////////////////////////////1.superinitfirstif(!Layer::init()){retu

cocos2d-x改底层之获取UIListView的实际内容大小 实际项目中UI界面中经常会用到UIListView,大多会在CocoStudio中直接添加这个控件。但是在使用中发现了一些坑和功能缺乏,然后就看了一下底层的逻辑,

标签: cocos2d怎么用

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

上一篇:cocos2dx 多分辨率适配(cocos2dx适配)

下一篇:cocos2dx-js 集成google play service和admob--------错误处理(cocos2dx 3.17)

  • 关税完税价格是离岸价还是到岸价
  • 注册资本印花税减半征收政策
  • 使用增值税发票的条件
  • 无形资产多摊销了怎么办
  • 专项资金支出流程
  • 个体户未抄报不能领发票
  • 厂房无偿租赁合同
  • 个人所得税已申报税额合计是什么意思
  • 个人承包经营所得是什么意思
  • 事业单位如何计提工资
  • 政府投资计入什么科目
  • 170平方的房子装修费用
  • 发票对方认证不了怎么回事
  • 投资性房地产房租计入什么会计科目
  • 其他应收款包括的内容
  • 小型微利企业所得税优惠政策
  • 关联交易的解释
  • 包装物报废收回残料
  • 保税区内的货物交易
  • 实收资本的账务处理例题
  • 房地产企业纳税申报需要报哪些报表
  • 出口货物做内销处理
  • php表单系统源码
  • 公司员工意外险怎么买
  • 在建工程进项税额转出
  • 固定资产清理是三栏式还是多栏式
  • 皮肤痒怎么回事
  • 提取的坏账准备使用完后如何处理
  • 申报补缴是什么意思
  • 业务招待费超出部分纳税调增分录
  • framework在哪看
  • 两只小北极熊
  • php正则表达式实例
  • 印度泰姬陵建筑
  • php操作mysql数据库
  • yolov5的使用
  • thinkphp3.0
  • 会计申报需要哪些数据
  • 发票查真伪是什么意思
  • 个体工商户属于灵活就业人员吗
  • 付了两次运费发了一个包裹
  • 运费已付发票未到会计分录
  • 运费计入什么会计分录
  • 总分公司企业所得税如何申报缴纳
  • 企业所得税实训内容及过程
  • 自己动手把桌子改窄
  • 建筑劳务公司税务筹划
  • 回忆一下会计核算程序有哪几种?
  • 淘宝商城的收入来源
  • 风险纳税人去税务局去报税可以吗
  • 委托代销确认销售收入
  • 期末应交税费有余额吗
  • 以前年度损益调整会计分录
  • 自产自用进项税额
  • 固定资产转固流程图
  • 盘亏应该怎么处理
  • sqlserver连接到服务器
  • mysql死锁的例子
  • freebsd 编译
  • Win10系统安装包
  • linux无法运行yum
  • win7和xp文件共享
  • centos怎么设置
  • win10如何恢复已删除的密钥
  • rsync -i
  • linux ed
  • win8.1关机没反应
  • windows10使用说明
  • win10系统代理在哪
  • linux如何更改文件夹权限
  • unity控制相机旋转
  • 安卓网络管理类app
  • jquery 插件写法
  • 平安科技在哪
  • 广西公安厅有几个处长
  • 江苏税务查询授权验证码
  • 保险赔款是免征还是不征?
  • 浙江省电税务局电话
  • 报税卡丢了要怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设