android 分辨率切图,让Android和iOS共用一套切图?

问题来源:

开发中,UI给出了图,但在iOS和Android命名不统一,需要重新命名,会带来一些不便,如果可以使用一套切图,那就节约了时间,方便管理.

命名约束:

Android 图片命名不能出现 @ 和 大写字母 (a-z _)

Android 中会出现 .9 文件

iOS 使用 @2 @3 来区别 2x 3x 图

当前我想到的解决办法:

所有图片统一命名为

abcd_2x.png

abcd_3x.png

形式

Android 端不需要处理, 直接使用

abcd_2x.png

iOS 端:

扩展 UIImage, 添加方法 imageBySelfName

使用 : [UIImage iamgeBySelfName:@”abcd”] 获取图片

方法内根据屏幕的分辨率 添加 _2x 或 _3x 的后缀 取图

如果没有图, 则获取相近的图

不是到这种方法可行否?

因为没有开发过Android 不知可不可行。

但是(不是广告哈)

如果美工本身使用的是

photoshop

来切图,有相应的插件http://www.cutterman.cn/,可以只需要将原始图片命名,并且支持多张一块切。然后可以产生适用于

Android

iOS

的图片命名。

例子

图层命名:test

bVmykH

选中ios产出-test.png+test.@2x.png…

bVmykI

bVmykK

2.选中Android

bVmykM

产出不同文件夹,文件夹下有各种分辨率下的文件(应该刚好符合)

bVmykP

这个方法可行啊,不过有两点需要注意。

1. 方法名打错了吧,建议用

+imageBySelfNamed:

2.

+imageNamed:

方法实现了缓存功能,建议你也去实现一下,可以显著提高第二次加载的速度!

还有一个更简单的方式,美术切图可以按照你写的规则命名。切图打包给你,用下面的脚本脚本批量修改文件名,自动递归目录):

shell

$ for file in `find . -type f`; do mv $file ${file/%_2x.png/@2x.png}; done

$ for file in `find . -type f`; do mv $file ${file/%_3x.png/@3x.png}; done

73bccf0c0b4af35beddca4274520fb45.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值