Как создать файл GIF из изображения GIF, полученного с рулона камеры пользователя, с использованием языка программирования swift в IOS разработке? - PullRequest
0 голосов
/ 24 февраля 2020

Я использую библиотеку под названием YPImagePicker (https://github.com/Yummypets/YPImagePicker?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more) через GitHub для облегчения выбора мультимедиа в приложении, над которым я работаю. Проблема, с которой я сталкиваюсь, заключается в том, что при выборе файла gif из рулона камеры он сохраняется как данные изображения JPEG внутри, что не позволяет сохранить его как данные изображения gif под капотом. Я тщательно проследил основной код, но безрезультатно. Чтобы решить эту проблему, я попытался сделать следующее: 1. Сначала я захватил необработанное изображение, снятое с рулона камеры, и проверил, содержат ли его метаданные формат «GIF» , захватывая изображение gif с рулона камеры и проверяя метаданные для GIF . 2. Затем я использовал вспомогательный класс для создания данных изображения и создания URL-адреса файла для изображения, чтобы его можно было использовать при создании POST-запроса формы к серверу вспомогательный класс, который создает файл для вновь захваченного изображения. данные изображения . Этот вспомогательный класс использует расширение UIImage, которое я получил из ответа о переполнении стека вспомогательное расширение UIImage, которое создает данные изображения на основе данных базового изображения . Проблема, с которой я столкнулся, заключается в том, что предполагаемые файлы GIF по-прежнему выводятся в виде простых файлов JPEG. Я не уверен, начинается ли проблема с библиотекой или с моими собственными решениями реализации. В приложении, когда пользователь заканчивает выбор изображения GIF из своей камеры, изображение отображается как неподвижное, а не как анимация. По общему мнению, проблема возникает, когда изображение фактически извлекается из рулона камеры. Библиотека использует каркас PHotoKit и каркас ImageIO. Я не знаю, следует ли мне реорганизовать код библиотек в соответствии с моими потребностями или полностью сбросить библиотеку и реализовать решение с нуля. Еще раз библиотеки git хранилище https://github.com/Yummypets/YPImagePicker?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

...