Почему мой фильм из 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, записанные в видео) искажен

Может быть, вы можете найти свой ответ об искаженном фильме здесь:

Искаженный фильм UIImages

Вы найдете больше информации о вашей проблеме после заголовка: Реагирование на изменения в значении UISegmentedControl, который скажет что-то о вашем соотношении сторон.

Я надеюсь, что это поможет вам.

Другие вопросы по тегам