2012-04-23 1 views
0

Я хочу преобразовать UIImage в формат, например jpeg или png, чтобы затем поделиться этим файлом с помощью подключаемого модуля IOS под названием «AddThis ». я пытался поделиться им, используя только UIImage, но плагин не поддерживает его, поэтому мне нужно найти способ, чтобы преобразовать UIImage в формате JPEG, а затем добавить его в этот код:Преобразование файла UIImage в jpeg/png для совместного использования с помощью AddThis Plug-in

[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 на пульте.

+0

Это не сработало, но это было потому, что photo_boom.jpg не является существующим файлом. В принципе, я сделал UIImage для преобразования UIView: 'UIGraphicsBeginImageContext (firstPage.bounds.size); [firstPage.layer renderInContext: UIGraphicsGetCurrentContext()]; UIImage * изображение = UIGraphicsGetImageFromCurrentImageContext(); ' который я тогда хочу дать формат Jpeg, потому что, когда я попытался просто поставить его в качестве' [AddThisSDK shareImage: изображение withService: @ «щебет» название: @ "Я m sharing something " описание: @" Случайное описание изображения "];' Это дает мне ошибку – Ollie177

+0

Нет такой вещи, как формат jpeg UIImage - у нее есть собственный внутренний формат. Какую ошибку вы получаете? –

+0

он не входит в код, он с самим плагином. и это когда я тестирую свое приложение. Он просто говорит «произошла ошибка». Я предполагаю, что это связано с тем, что плагин будет реагировать только на '[AddThisSDK shareImage: [UIImage imageNamed: @" photo_boom.jpg "]', а не '[AddThisSDK shareImage: image' – Ollie177