我喜欢将.cpbitmap文件转换为可以在UIImageView中显示的图像格式。在Objective-C中有办法做到这一点吗?这个应用程序可以在越狱设备上运行,所以这没什么大不了的。
发布于 2014-02-21 16:12:33
导入私有AppSupport.framework
并声明
CFArrayRef CPBitmapCreateImagesFromData(CFDataRef cpbitmap, void*, int, void*);
此函数将返回一个CGImageRef
对象数组。第一个参数是来自.cpbitmap
文件的数据。我不知道其他参数(其中一个可能是CFAllocatorRef
),所以我检查了iOS是如何调用这个函数的,并使用了相同的值。下面是我是如何做到的
CPBitmapCreateImagesFromData([NSData dataWithContentsOfFile:@"LockBackground.cpbitmap"], NULL, 1, NULL);
发布于 2014-09-14 03:13:10
我还想从库/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 ->测试->预览提取图像。
https://stackoverflow.com/questions/21919609
复制相似问题