如何将png / jpeg转换为.bmp图像?我尝试过以下解决方案,但没有运气:
CGImageRef sourceRef = source.CGImage;
size_t width = CGImageGetWidth(sourceRef);
size_t height = CGImageGetHeight(sourceRef);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
size_t bitsPerComponent = 8;
size_t bytesPerPixel = 4;
size_t bytesPerRow = (width * bitsPerComponent * bytesPerPixel + 7) / 8;
size_t dataSize = bytesPerRow * height;
unsigned char *data = malloc(dataSize);
memset(data, 0, dataSize);
CGContextRef context = CGBitmapContextCreate(data, width, height,
bitsPerComponent, bytesPerRow, colorSpace,
kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGContextDrawImage(context, CGRectMake(0, 0, width, height), sourceRef);
CGColorSpaceRelease(colorSpace);
unsigned char *bitmapData = (unsigned char *)CGBitmapContextGetData(context);
答案 0 :(得分:2)
在较高的层次上,您需要将.jpg放入NSBitmapImageRep对象中,然后让框架为您处理转换。
以下是MAC的链接: How to convert .jpg image to .bmp format using Objective C?
有一个命令行工具可以帮助你从GITHUB
https://github.com/tonybeltramelli/TMXResolutionTool/
最好的办法是在UIImage中获取图像,然后将其转换为bitMap。
https://github.com/PaulSolt/UIImage-Conversion
这会对你有帮助。
此致
阿尼尔