У меня есть программа, которая извлекает изображение из библиотеки, но я использую код, который я нашел в Интернете, чтобы изменить его размер, чтобы он мог поместиться на экране (в основном, это 640x960), но тогда он все равно будет слишком большим для отображения, поэтому в другом UIImage я копирую первое измененное изображение и повторно изменяя его, чтобы сделать его примерно на 1/4 экрана (или 160x240). Код заключается в следующем:Objective C - изменение размера UIImage
для ViewController.h:
UIImage *img;
UIImage *thumb;
-(UIImage*) scaleImage: (UIImage*)image toSize:(CGSize)newSize;
(это, конечно, только код, связанный с моей проблемой)
для ViewController.m
-(UIImage*) scaleImage: (UIImage*)image toSize:(CGSize)newSize {
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
и в том же файле m на другой функции функция scaleImage вызывается при нажатии кнопки с этими линиями:
[self scaleImage:img toSize:CGSizeMake(640, 960)];
thumb = img;
[self scaleImage:thumb toSize:CGSizeMake(160, 240)];
В проекте я ранее смог успешно предоставить изображение для img
, используя [info objectForKey:UIImagePickerControllerOriginalImage];
, который будет изображением, выбранным из библиотеки. У меня уже «файл принадлежит» всем, чтобы эта функция выполнялась (и это происходит потому, что я создаю в ней UIAlert и он показывает, и NSLog для печати, когда scaleImage запускается, и он делает это дважды), но изображение никогда не изменился! Кто-нибудь знает, почему? Пожалуйста, дайте мне знать, спасибо всем, кто комментирует с помощью или предложениями!
Когда я попытался изменить размер изображения в меньшем масштабе, изображение было на самом деле больше. Я нашел ваш scaleImage код в вашем вопросе выше, и это сработало. Спасибо, что задали вопрос и разместили свой код. :-) – Patricia
и спасибо за сообщение этого, заставляет меня чувствовать, что я вносил больше, чем я на самом деле делаю =) – gfcf14