在我的iPhone应用程序,我需要的UIImage转换为TIFF / TIF文件调用具有TIF类型参数的一些API。 所以,我应该得到iPhone照片库或采取从相机拍照的UIImage的。 请让我知道这个转换(的UIImage到TIF / TIFF)是否是可能的,如果可能的话会是什么做到这一点的最好办法。 提前致谢。
Answer 1:
ImageMagick的运行在iOS和似乎符合该法案。 不过,我会考虑修改API,假设你可以访问它。 如果大多数图像都已经在一定的格式,必须转换,这是一个很大的等待时间为您的客户。 如果你的API能够在多种格式的图像与互动,那么你已经保存了一点时间,一些人。
Answer 2:
NSLog(@"I am using MagicWand Library");
//GIT path https://github.com/marforic/imagemagick_lib_iphone
MagickWandGenesis();
magick_wand = NewMagickWand();
MagickSetFormat(magick_wand, "tiff");
//NSData * dataObject = UIImagePNGRepresentation([UIImage imageNamed:@"daftpunk.jpg"]);
NSData * dataObject = UIImageJPEGRepresentation([UIImage imageNamed:@"daftpunk.jpg"], 1.0);
//UIImageJPEGRepresentation([imageViewButton imageForState:UIControlStateNormal], 90);
MagickBooleanType status;
status = MagickReadImageBlob(magick_wand, [dataObject bytes], [dataObject length]);
if (status == MagickFalse) {
ThrowWandException(magick_wand);
}
size_t my_size;
unsigned char * my_image = MagickGetImageBlob(magick_wand, &my_size);
NSData * data = [[NSData alloc] initWithBytes:my_image length:my_size];
free(my_image);
magick_wand = DestroyMagickWand(magick_wand);
MagickWandTerminus();
UIImage * image = [[UIImage alloc] initWithData:data];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"DAFTPUNK.tif"]; //Add the file name
[data writeToFile:filePath atomically:YES];
[imageViewButton setImage:image forState:UIControlStateNormal];
Answer 3:
UIImage
是不是一个类型的图像文件格式的; 这只是一种方式,iOS的显示图像。 这需要在手机上从什么地方的图像,并将它们在屏幕上。 任何格式的图片都在,很可能是你可以将它们转换为TIFF,作为UIImage
支持显示该文件类型。
有没有原生UIImage
为TIFF方法,但你可以做UIImagePNGRepresentation
或UIImageJPEGRepresentation
。
文章来源: Convert UIImage to tiff/tif file