ios - para - remix os windows
¿Es posible encontrar la extensión de archivo de un UIImage? (2)
Según Wikipedia, un archivo de BMP no OS / 2 comienza con 0x42 0x4D
(BM en ascii).
case 0x42:
return @"image/bmp";
Encontré el siguiente código en Buscar tipo de imagen de NSData o UIImage, que ayuda a verificar cuatro tipos de imágenes diferentes de una UIimage
(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:
case 0x4D:
return @"image/tiff";
}
return nil;
}
Quiero saber cómo encontrar el archivo que es una imagen de mapa de bits o no que tiene la extensión .bmp. alguien puede por favor ayudarme con eso. Modifique el código anterior para encontrar bmp también o proporcione una solución con algún código.
gracias en advanza
Puede cambiar la imagen a NSData
usando
UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>)
O
UIImagePNGRepresentation(<#UIImage *image#>)
método. Llámalo de esta manera:
- (void) yourMethod{
NSData *imageData = UIImagePNGRepresentation(yourImage);
NSString *str = [self contentTypeForImageData:imageData];
}
- (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;
}