Преобразование UIImage в файл JPEG / PNG для совместного использования с помощью плагина AddThis
Я хочу преобразовать UIImage в формат, такой как jpeg или png, чтобы я мог поделиться этим файлом с помощью плагина IOS под названием "AddThis". Я попытался поделиться им, используя только UIImage, но плагин не поддерживает его, поэтому мне нужно сначала найти способ конвертировать UIImage в jpeg, а затем добавить его в этот код:
[AddThisSDK shareImage:[UIImage imageNamed:@"test.jpg] withService:@"twitter" title:@"I'm sharing something" description:@"Random description of image"];
код должен иметь shareImage:[UIImageNamed:@""]
в противном случае возникает ошибка.
До сих пор я пытался конвертировать его с помощью UIImageJPEGRepresentation
но я не думаю, что сделал это правильно. Честно говоря, я пытался сделать это так же, как вы конвертировали бы это прямо с получения изображения:
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"photo_boom.jpg"];
[UIImageJPEGRepresentation(shareImage, 1.0) writeToFile:jpgPath atomically:YES];
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"photo_boom.jpg"];
NSLog(@"Documents directory: %@", [fileMgr contentsOfDirectoryAtPath:documentsDirectory error:&error]);
Что-то говорит мне, что это не правильный путь... в основном потому, что я не смог заставить его работать.
Буду очень признателен за любую помощь!
По сути, я сделал UIImage из преобразования UIView:
UIGraphicsBeginImageContext(firstPage.bounds.size);
[firstPage.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
Который я затем хочу дать формат JPEG, потому что, когда я пытался просто положить его в виде
[AddThisSDK shareImage:image withService:@"twitter" title:@"I'm sharing something" description:@"Random description of image"];
Это дает мне ошибку
1 ответ
UIImage
имеет собственное внутреннее представление изображения, поэтому не имеет значения, загружаете ли вы его в формате JPEG или PNG.
Интересующий вас вызов API имеет UIImage
в качестве первого параметра, так что-то вроде
[AddThisSDK shareImage:[UIImage imageNamed:@"photo_boom.jpg"]
withService:@"twitter"
title:@"I'm sharing something"
description:@"Random description of image"];
должно работать, при условии, что photo_boom.jpg включен в ваш пакет. Если вы загружаете ранее сохраненное изображение из папки, вам понадобится что-то вроде этого:
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"photo_boom.jpg"];
UIImage * myImage = [UIImage imageWithContentsOfFile: jpgPath];
[AddThisSDK shareImage:myImage
withService:@"twitter"
title:@"I'm sharing something"
description:@"Random description of image"];
Если это не сработало, попытались ли вы установить точку останова на AddThisSDK
линия, и проверка значения image
? Тип po image
на консоли.