2013-06-10 2 views
19

привет, я хочу отправить изображение в веб-службу. Но я хочу изменить размер выбранного пользователем изображения на 75 х 75 и отправить его на веб-службу. Как я могу изменить размер изображения в 75 х 75Как изменить размер изображения в iOS?

Благодарности

+0

http://stackoverflow.com/questions/10491080/uiimage-resizing-not-working-correct/10491692 # 10491692 проверить это ужасное Ответ от Rob – pmk

ответ

38

попытаться реализовать код, приведенный ниже. Это может быть полезно для вас:

CGRect rect = CGRectMake(0,0,75,75); 
    UIGraphicsBeginImageContext(rect.size); 
    [yourCurrentOriginalImage drawInRect:rect]; 
    UIImage *picture1 = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    NSData *imageData = UIImagePNGRepresentation(picture1); 
    UIImage *img=[UIImage imageWithData:imageData]; 
+0

привет спасибо за тр. rply ,, Если я отправлю в формате JPG, как изменить это 'UIImagePNGRпредставление' – iDia

+0

вы можете использовать интерфейс ImageJPEGRepresentation, он нуждается в качестве в float. – ilmetu

+0

Почему вы добавили дополнительный шаг, на котором вы создаете данные PNG, только для создания нового изображения? – rckoenes

9

попробовать этот код:

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize 
{ 
    UIGraphicsBeginImageContext(newSize); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext(); 
    return newImage; 
} 
32

Используйте этот метод, чтобы изменить размер изображения:

+(UIImage *)imageResize :(UIImage*)img andResizeTo:(CGSize)newSize 
{ 
    CGFloat scale = [[UIScreen mainScreen]scale]; 
    /*You can remove the below comment if you dont want to scale the image in retina device .Dont forget to comment UIGraphicsBeginImageContextWithOptions*/ 
    //UIGraphicsBeginImageContext(newSize); 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, scale); 
    [img drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 
Смежные вопросы