2012-11-23 29 views
5

Tôi đã viết this gist để chuyển đổi dữ liệu gif được tải xuống từ this incredible site và chuyển thành mp4 có thể phát bằng MPMoviePlayerController.Niềm vui của giải mã gif thời gian thực

Vấn đề là, tôi phải tải xuống toàn bộ gif và sau đó bắt đầu chuyển đổi. Tôi muốn chuyển đổi khi tôi nhận được dữ liệu và tôi tin rằng, nhưng không thể xác nhận rằng, nó có thể là có thể với CGImageSourceCreateIncremental bằng cách chuyển dữ liệu được trả về bởi - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data.

Có ai đã cố gắng điều này hoặc biết ví dụ không?

+0

+1. Bạn đang ở trên. – CodaFi

+0

Ôi bạn tôi, không có niềm vui ... – MCKapur

+0

@RohanKapur một số thái độ ... –

Trả lời

1

Tôi biết rằng các công việc gia tăng cho jpeg và png. Mã hóa của nó hơi phức tạp nhưng bạn sẽ có thể tìm thấy mã mẫu ở đây hoặc trên trang web của Apple. Không có cách nào để biết những gì nó sẽ làm với gifs động. Nếu nó không làm những gì bạn cần, bạn chắc chắn có thể tìm thấy một thư viện libgif nguồn mở, mà rõ ràng bạn cần phải chuyển sang iOS. Tôi đã sử dụng libjpeg turbo trong một dự án để có được giải mã gia tăng cho JPEG.

Một vấn đề với phương pháp Quartz bạn tham chiếu là nó luôn luôn giải mã từng bước từ hình ảnh bắt đầu. Vì vậy, nếu bạn có một hình ảnh thực sự lớn như tôi đã làm, như kích thước của tải về làm tăng lâu hơn mà mỗi yêu cầu cho một hình ảnh gia tăng mất. Tôi thực sự đã đốt cháy một sự cố DTS về điều này - kỹ sư của Apple đồng ý sẽ rất tuyệt nếu họ lưu hình ảnh trung gian để mỗi yêu cầu sẽ xây dựng trên hình ảnh cuối cùng, nhưng hiện tại họ không có.