/** 将 png
图片的数据以字节数组的方式存入头文件,将头文件持久化到磁盘系统中~ */
-(void) savePngBytesAsHeaderFile:(NSString*)pngName columns:(int)columns {
//
唯有这种方式取得的 NSData
对象的 length 属性不再为0,有效!!
NSString *filePath = [[NSBundle
mainBundle] pathForResource:pngName
ofType:@"png"];
NSData *imageData = [[NSData
alloc] initWithContentsOfFile:filePath];
Byte *bytes = (Byte*)[imageData
bytes];
NSUInteger length = [imageData length];
NSMutableString *hexStr = [NSMutableStringstring];
NSString *nameModified = [NSString
stringWithString:pngName];
//
将图片名称中的 '-'
替换成 '_' ~
nameModified = [nameModifiedstringByReplacingOccurrencesOfString:@"-"withString:@"_"];
[hexStrappendFormat:@"#ifndef MacEncryptTool_%@_PNG_H\n",
[nameModifieduppercaseString]];
[hexStrappendFormat:@"#define MacEncryptTool_%@_PNG_H\n\n",
[nameModifieduppercaseString]];
[hexStrappendFormat:@"unsigned char %@_png[] = {\n\t",
nameModified];
NSString *splitStr = [NSString
stringWithString:@", "];
for(int i =
0; i < length; ++ i) {
NSString *itemStr = [NSString
stringWithFormat:@"%x", bytes[i]&0xff];// 16进制数
if([itemStr length] ==
1) { // 补一位 0 ~
itemStr = [NSStringstringWithFormat:@"0x0%@", itemStr];
}
else {
itemStr = [NSStringstringWithFormat:@"0x%@", itemStr];
}
if(i != length-1) {
[hexStr
appendFormat:@"%@%@", itemStr, splitStr];
if((i+1)%columns ==
0) {
[hexStrappendString:@"\n\t"]; //
换行~
}
}
else {
[hexStr
appendFormat:@"%@\n", itemStr];
}
}
[hexStrappendFormat:@"};\nunsigned int %@_png_len = %u;\n",
nameModified, length];
[hexStr
appendString:@"\n#endif"];
NSString *fileName = [NSString
stringWithFormat:@"%@.png.h", nameModified];
[hexStrwriteToFile:fileName
atomically:NOencoding:NSUTF8StringEncodingerror:nil];
// NSData *fileData = [hexStr dataUsingEncoding:NSUTF8StringEncoding];
// [fileData writeToFile:fileName atomically:NO];
}
分享到:
相关推荐
将c++文件(包括头文件)转换为delphi文件
二进制文件和 Bitmap 一样,都是二进制格式,而 C 编译器要求在 C 头文件中将它们转换为 char 数组。 Bin2froh 包含两个程序,... 使用"bintoh" 将二进制文件转换为C 头文件,使用"binfromh" 还原"bintoh" 所做的工作。
C DLL报头转换器。 有关移植C API和C DLL头文件的更多信息,请参阅使用Delphi使用C DLL的详细文章。
C语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言...
directshow 头文件与库文件,从9.0a上提取!
C++的头文件转换为delphi定义
用过linux kernel编译都知道里面有个.config 头文件,内核配置完后对内核动态生成autoconfig.h,本资源就是一个识别“配置文件”生成“工程配置头文件”的工具,只要输入 mkconfig config.mk 就能自动生成autoconfig...
VB 实现 将C++头文件 转换为VB模块 源程序 这个小程序很有用哦,使用VB语言编写,功能是实现将C++头文件转换为VB模块源程序,这样在以后你碰到VC++中那些想用的功能模块,你就可以转换为VB同功能的模块源码,有意思...
文件操作,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src
C++ PRIMER 部分头文件及资源,C++ PRIMER 部分头文件及资源
C语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言头文件 SETC语言...
C语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言头文件 TSSC语言...
C语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言...
C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言...
C语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言...
C语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言头文件 GLUC语言...
NTDLL 库文件和头文件 SDK平台的源文件和lib,大家肯定需要的!呵呵!
C语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言...
C语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言...
C语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言...