Как сохранить изображение .jpg как .png или .jpeg в iphone - PullRequest
0 голосов
/ 09 февраля 2011

Я сохраняю изображения в моем doc dir .. У меня нет проблем с изображениями .png или .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];

}

1 Ответ

0 голосов
/ 18 января 2012

Вы можете использовать UIImagePNGRepresentation.Сначала создайте UIImage с вашим исходным JPG, и они используют этот метод класса, чтобы сохранить его как PNG.

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

Как только у вас есть данные, вы можете сохранить их на диск, вызвав writeToURL:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...