【发布时间】:2014-07-29 06:51:37
【问题描述】:
我正在使用以下代码将UIImage 转换为数据:
- (NSString*)getImageTypeWithImage:(UIImage*)img
{
NSData *imageData = UIImagePNGRepresentation(img);
NSString *str = [self contentTypeForImageData:imageData];
return str;
}
我正在使用UIImagePNGRepresentation 或UIImageJPEGRepresentation 进行转换,但它也将图像格式转换为PNG 或JPEG。我正在使用以下方法。
- (NSString *)contentTypeForImageData:(NSData *)data
{
uint8_t c;
[data getBytes:&c length:1];
switch (c) {
case 0xFF:
return @"image/jpeg";
case 0x89:
return @"image/png";
case 0x47:
return @"image/gif";
case 0x49:
break;
case 0x42:
return @"image/bmp";
case 0x4D:
return @"image/tiff";
}
return nil;
}
有没有办法我可以得到确切的图像格式..请告诉我。
【问题讨论】:
-
你为什么不用
[NSData dataWithContentsOfFile:@"image path"];? -
@iphonic :我尝试了上面的代码,但每次它都返回 0X01,所以它不会进入 Switch 案例并返回 nil 值。
标签: ios objective-c uiimage image-formats