2011-02-09 78 views
0

我节省了我的文档dir..I图像不与巴纽问题或.jpeg images.I我能在iPhone中正确显示它们。但是来到.JPG,我不能够display.Please帮我this.THANKS IN ADVANCE如何.JPG图像保存为巴纽或.jpeg在iphone

+(void)DownloadImage:(NSString*)ImagePath{ 

if ([ImagePath isEqualToString:@""]) { 
    return; 
} 

UIImage *dimage = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://1xyz/uploads/%@",ImagePath]]]]; 
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSLog(@"pathIMAGEPATHS:::::::%@",ImagePath); 
NSLog(@"path:::::::%@",docDir); 
NSArray *patharr=[ImagePath componentsSeparatedByString:@"."]; 
NSString* Ext=[NSString stringWithFormat: @"%@",[patharr objectAtIndex:1]]; 
NSString *FilePath = [NSString stringWithFormat: [NSString stringWithFormat:@"%@/%@",docDir,ImagePath]]; 
NSLog(@"%@/%@",docDir,ImagePath); 
if([Ext isEqualToString:@"png"]) 
{ 
    NSLog(@"saving png"); 
    NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(dimage)]; 
    [data1 writeToFile:FilePath atomically:YES]; 
} 
else if([Ext isEqualToString:@"jpeg"]) 
{ 
    NSLog(@"saving jpeg"); 
    NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(dimage, 1.0f)];//1.0f = 100% quality 
    [data2 writeToFile:FilePath atomically:YES]; 
} 
else 
{ 
    NSData *data3 = [NSData dataWithData:UIImageJPEGRepresentation(dimage, 1.0f)]; 
    [data3 writeToFile:FilePath atomically:YES]; 

} 
NSLog(@"saving image done"); 

[dimage release]; 

} 

回答

0

您可以使用UIImagePNGRepresentation。首先创建一个UIImage与您的原始JPG,他们使用这种类的方法保存为PNG。

UIImage *image = [UIImage imageNamed:@"yourImage.jpg"] 
NSData *imageData = UIImagePNGRepresentation(image); 

一旦你有了数据,你可以通过调用writeToURL:保存到磁盘。

相关问题