位置: 编程技术 - 正文

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)

  • 增值税为什么不重复征税
  • 企业资产损失税前扣除管理办法2011215号第46条
  • 其他应收款是负数怎么报税
  • 增值税进项税没那么多,申报表多填
  • 个体工商户开普票流程
  • 小规模纳税人的票怎么开
  • 限售股流通股
  • 耕地占用税滞纳金是否能减免
  • 建安行业外地预缴工会经费
  • 房租收入应该计入什么会计科目
  • 法院一直扣着我的钱不给可以起诉他吗
  • 实收资本未到位可以注销吗?
  • 普票和专票的税率分别是多少
  • 票据单据较多,费用报销单一张不够填怎么办?
  • 企业房屋管理办法
  • 营运资金的范畴包括哪些
  • 火车票抵扣进项税额怎么申报
  • 个体工商户经营所得税怎么申报
  • 土地出让金怎么入账
  • 固定资产清查表
  • windows11安装错误
  • win10护眼模式在哪
  • 剑灵配置要求2020官方
  • 清算中无法偿还的债务
  • PHP:xml_set_default_handler()的用法_XML解析器函数
  • php ftp功能
  • 金融企业呆账核算流程
  • thinkphp多模块
  • 金融机构贷款利息规定
  • vue使用scss报错
  • php开发项目
  • ps_clk
  • mongodb用法
  • 员工预支款计入什么科目
  • 采购和销售都做的叫什么
  • 企业可以收付实现制记账吗
  • 物业公司都有什么
  • 公司给买员工保险
  • 增值税发票作废后怎么处理
  • sql server ceiling
  • 扣供应商货款怎么入账
  • 0税率可以抵扣进项税吗
  • 劳务外包收入如何纳税
  • 小规模纳税人怎么申报增值税报表
  • 提高资产利用率的例子
  • 材料暂估入库的账务处理
  • 提取备用金如何填写现金日记账
  • 材料成本差异会计处理
  • 期初余额根据什么填
  • 房屋免租期的房子能卖吗
  • 办公设备折旧年限规定多少年
  • 跨年发票应该如何处理
  • 结转库存商品需要附件吗
  • 工厂用的工具放计入哪个科目
  • 动产什么时候发生效力
  • 系统存储过程以什么为前缀
  • 用sql语句添加删除字段
  • ubuntu server gui
  • debian10.6安装教程
  • linux搭建socks代理
  • centos 启动gnome
  • windowsxp怎么卸载
  • win8蓝牙设置在哪
  • win10无法进入休眠状态的原因
  • sedsvc.exe是什么
  • linux操作系统主要用来干嘛?
  • w10系统如何
  • linux系统如何安装软件包
  • Tutorial 4: Shaders
  • 滤镜调试
  • 代码的历史
  • jquery animate源码
  • oculus dk2
  • python条件怎么算合法
  • js判断浏览器内核和版本
  • Android系统服务
  • python string包
  • 浙里办怎么给小孩子缴医保费
  • 立信金融会计学院
  • 如何在河南省社会保障网上平台进行社保基数申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设