Я пишу приложение, которое дает пользователю возможность изменить размер изображения, которое они берут, и загрузить его в службу. Изменение размера кажется прекрасным, но оно не сохраняет повторно созданный образ в нужном месте, потому что приложение, похоже, не думает, что загружена фотография.Хранение изображения с измененным размером в Objective C
Обратите внимание, что первая функция в инструкции if (в отношении «normal_size») работает нормально. Я попытался воссоздать эти две строки в дополнительных параметрах размера, но я не могу понять, почему он не хранит его. Это сводит меня с ума. Вот код:
// Set image dictionaries
iInfoDict = [[NSDictionary alloc] initWithDictionary:info];
NSLog(@"infor ===== %@", info);
UIImage* image =[info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSLog(@"iImage name === %@", iImage);
// Determines path of image taken/chosen
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"image.jpg"];
CGSize size;
// Not sure what this does other than dismissing the pickerViewController
NSData* data = UIImageJPEGRepresentation(image, 0.9);
[data writeToFile:appFile options:nil error:nil];
NSLog(@"Documents ==== %@", documentsDirectory);
[picker dismissModalViewControllerAnimated:YES];
// photo.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
// IMAGE RESIZE CODE
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"normal_image"])
{
[photoData setObject:[iInfoDict objectForKey:@"UIImagePickerControllerOriginalImage"] forKey:@"image"];
photo.image = [iInfoDict objectForKey:@"UIImagePickerControllerOriginalImage"];
}
else if ([[NSUserDefaults standardUserDefaults] boolForKey:@"small_image"])
{
CGSize size = CGSizeMake (600, 450);
UIImage *origImage = [iInfoDict objectForKey:@"UIImagePickerControllerOriginalImage"];
UIImage *destImage = [origImage resizedImage:size interpolationQuality:kCGInterpolationHigh];
NSLog(@"Image Size: %@", NSStringFromCGSize(destImage.size));
[photoData setObject:destImage forKey:@"image"];
photo.image = destImage;
}
Спасибо за ответ. Прокомментированный код старый, и я еще не удалил его. Есть функция, которая подталкивает фотографию к службе, и первое, что она выталкивает, это словарь под названием «данные», и кажется, что я пишу данные после изменения размера изображения, но по какой-либо причине изображение по-прежнему отображается полноразмерным, когда мы загружаем его на веб-сайт. –
О, мой бог, это была фотография. Изображение, а не изображение, которое было написано, было проблемой. Невероятно. –