В моем приложении я использую средство выбора изображений, чтобы выбрать изображение на iPhone.После того, как изображение было выбрано, я делаю:
data = UIImageJPEGRepresentation(image, 1.0);
На iOS 12.4.1 и ниже, все работает нормально, если я выбираю изображение PNG или JPEG.
На iOS 13, JPGработает нормально, но PNG нет.
Если я выберу JPG:
data = UIImageJPEGRepresentation(image, 1.0); // works
data = UIImagePNGRepresentation(image); // works
Но если я выберу PNG:
data = UIImageJPEGRepresentation(image, 1.0); // data is nil
data = UIImagePNGRepresentation(image); // data is nil
Я посмотрел на некоторые другиевопросы здесь и попытался скопировать изображение:
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Затем, когда я делаю
data = UIImageJPEGRepresentation(newImage, 1.0);
это не ноль, но я получаю полностью белое изображение.
У кого-нибудь есть идея для обхода этого?