如何将.cpbitmap转换为可读图像(png,jpg,jpeg ...)

时间:2014-02-20 21:07:11

标签: ios objective-c image bitmap jailbreak

我喜欢将.cpbitmap文件转换为可以在UIImageView中显示的图像格式。有没有办法在Objective-C中做到这一点?该应用程序将在越狱设备上运行,所以这不是什么大问题。

2 个答案:

答案 0 :(得分:3)

导入私有AppSupport.framework并声明此

CFArrayRef CPBitmapCreateImagesFromData(CFDataRef cpbitmap, void*, int, void*);

此函数将返回CGImageRef个对象的数组。第一个参数是来自.cpbitmap文件的数据。其他参数对我来说是未知的(其中一个可能是CFAllocatorRef)因此我检查了iOS如何调用此函数并使用相同的值。我是这样做的

CPBitmapCreateImagesFromData([NSData dataWithContentsOfFile:@"LockBackground.cpbitmap"], NULL, 1, NULL);

答案 1 :(得分:1)

我还想从Library / Springboard转换HomeBackground.cpbitmap / LockBackground.cpbitmap。

以下对我有用: @creker:谢谢!

CFArrayRef CPBitmapCreateImagesFromData(CFDataRef cpbitmap, void*, int, void*);
CFArrayRef someArrayRef = CPBitmapCreateImagesFromData((__bridge CFDataRef)([NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"LockBackground" ofType:@"cpbitmap"]]), NULL, 1, NULL);
NSArray *array = (__bridge NSArray*)someArrayRef;
UIImage *test = [UIImage imageWithCGImage:(__bridge CGImageRef)(array[0])];

我在最后一行之后添加了断点并使用XCode提取图像 - >测试 - >预览。