Я снимаю фотографию с камеры или галереи фотографий и сохраняю ее в своем приложении.Мне не нужно такое большое изображение, поэтому я использую расширение, чтобы уменьшить его.Затем я сохраняю его в область приложения.Но уменьшение размера не сохраняется.
Я пробовал различные перестановки при изменении, удалении и сохранении размера.
let path = "/var/mobile/Containers/Data/Application/0595DE63-AE43-4DCF-9BD0-FB552844ECF5/Documents/tour15/H25.jpg"
print("A",hotspotImage.image!.size)
hotspotImage.image = hotspotImage.image!.resizeImage(2048, opaque: true)
print("B",hotspotImage.image!.size)
let fileManager = FileManager.default
try! fileManager.removeItem(atPath: path)
try! hotspotImage.image!.jpegData(compressionQuality: 0.8)!.write(to: URL(fileURLWithPath: path), options: [.atomic])
print("C",hotspotImage.image!.size)
let imageTest = UIImage(contentsOfFile: path)
print("D",imageTest!.size)
В результате получается ...
A (4032.0, 3024.0)
B (2048.0, 1536.0)
C (2048.0, 1536.0)
D (4096.0, 3072.0)
Когда я получаю«обновленное» изображение имеет оригинальный размер.Вы не можете видеть это, но изображение определенно было заменено.
Очевидно, я упускаю что-то фундаментальное - пожалуйста, избавьте меня от моих страданий.
Извинения тем добрым людям, которые ответили ранее - но яТеперь обнаружили некоторую дополнительную и важную информацию.Размер примера нас всех обманул.Когда я изменил уменьшенный размер на 200 (а не точно на половину исходного размера), я получаю следующие результаты:
A (4032 3024)
B (200 150)
C (200 150)
D (400 300)
Итак, все, что происходит, удваивает размер, а не - как я раньше думал - не обновляется с новым размером.
Делает ли это яснее или больше загадкой?
И, говоря о головоломках, я получил -1, но никто не сказал, почему.