Почему мой фильм из UIImages искажается?
Я использую решение Zoul для экспорта массива UIImage в качестве фильма. Но у меня все кадры получаются искаженными. Вот оригинальное изображение:
Вот аналогичный пример искажения: http://oi56.tinypic.com/8wkqys.jpg
Я читал здесь, что это как-то связано с соотношением сторон, но нет объяснения, как это исправить.
3 ответа
После многих экспериментов с различными размерами изображений и с помощью этой статьи я пришел к выводу, что ширина изображений должна быть кратна 16.
Я тоже сталкивался с этой проблемой, и я нашел причину в том, что размер изображения не кратен 16, вы можете изменить размер и попробовать.
Для тех, кто все еще путешествует в 2020 году и получает искажения в своих фильмах, потому что его ширина не 16 пикселей.
изменение
CGContextRef context = CGBitmapContextCreate(pxdata,
width, height,
8, 4 * width,
rgbColorSpace,
kCGImageAlphaNoneSkipFirst);
к
CGContextRef context = CGBitmapContextCreate(pxdata,
width, height,
8, CVPixelBufferGetBytesPerRow(pxbuffer),
rgbColorSpace,
kCGImageAlphaNoneSkipFirst);
Кредит на @Bluedays Выход AVAssetWriter (UIImages, записанные в видео) искажен
Может быть, вы можете найти свой ответ об искаженном фильме здесь:
Вы найдете больше информации о вашей проблеме после заголовка: Реагирование на изменения в значении UISegmentedControl, который скажет что-то о вашем соотношении сторон.
Я надеюсь, что это поможет вам.