问题描述
- 将
图片
拖入iOS 工程
后,Xcode
会对其进行特殊处理
, 导致图片能在 Apple 相关系统上正常显示, 其他系统都不能正常显示. - 之所以能在 Apple 相关系统上正常显示是因为苹果的底层方法实现就做了相应处理.
问题解决
通过苹果的方法把这些特殊图片读入系统, 然后重新保存为 PNG 图片即可
.
将这段代码加入你的 Mac 控制台工程
, 生成一个可执行程序(如 ipaPNGnormalizer), 在命令行中使用即可, 第一个参数
为需要正常化处理的 PNG 文件夹路径
. 处理后会在这个目录下创建一个 decode 文件夹, 这个文件夹下存放所有的正常化后的 PNG 图片
#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
BOOL saveImage(NSImage *image, NSString *path);
int main(int argc, const char * argv[]) {
@autoreleasepool {
if (argc < 2) {
NSLog(@"请输入包