2015-04-24 3 views
10

Probabilmente mi farò fiammeggiare per questo.APNG all'interno dell'app iOS

Mi chiedo se qualcuno sa come caricare APNG (PNG animati) all'interno di un'app per iPhone?

Non sto parlando di più immagini PNG aggiunte come NSArray di UIImages a UIImageView. Posso già fare questo metodo, ma questo richiede più immagini PNG.

Sto parlando di uno speciale formato PNG chiamato APNG (http://en.wikipedia.org/wiki/APNG) che contiene solo 1 file PNG ma ha meta dati di animazione.

Ho trovato questa libreria chiamata AVAnimator: http://www.modejong.com/AVAnimator/index.html che presumibilmente può caricare il formato APNG ma la licenza costa $ 475 USD e la libreria sembra provenire da alcuni anni fa (iOS 4).

Ho anche letto che Apple iOS 8 Safari e Yosemite Safari hanno integrato il supporto per APNG.

Non voglio davvero ricorrere all'utilizzo di UIWebView solo per visualizzare un file APNG. Funziona, l'ho provato ma non penso sia l'ideale.

Speravo ci fosse un nuovo SDK iOS non ancora scoperto che ci consenta di caricare APNG nell'app di cui non sono a conoscenza e forse voi ragazzi potreste saperlo.

Come funziona l'app Line (http://line.me/en/)? Sembrano avere PNG animati per i loro "adesivi".

+1

ho provata APNG ma se requisito isnt che una rigorosa vorrei andare per gif e utilizzare https://github.com/Flipboard/FLAnimatedImage – turbo

+0

@turbo mi sono imbattuto in quella libreria troppo, è attualmente supporta GIF, ma uno dei a - L'elemento è aggiungere il supporto APNG e WebP. Dita incrociate :) – Zhang

+0

Vedere https://stackoverflow.com/questions/25074340/avanimator-mvid-conversion/25478854#25478854 per una soluzione completa – MoDJ

risposta

5

Ho appena rilasciato un quadro per caricare e visualizzare i file APNG per iOS.

Si può solo caricare un'immagine APNG con lo stesso modello di UIImage e UIImageView come questo usandolo:

let image = APNGImage(name: "your_apng_image") 
let imageView = APNGImageView(image: image) 

imageView.startAnimating() 

view.addSubview(imageView) 

Per ulteriori informazioni, si può trovare qui: https://github.com/onevcat/APNGKit

+1

Il solo collegamento alla propria libreria non è una buona risposta.Collegandovi ad esso, spiegando perché risolve il problema, fornendo codice usando la libreria per farlo e dichiarando di averlo scritto per una risposta migliore. Vedi: [** Cosa significa "Buona" autopromozione? **] (http://meta.stackexchange.com/q/182212/200235) – durron597

+0

Hai qualche idea per l'obiettivo C –

+0

Ho bisogno di usare la libreria APPENA POSSIBILE , potresti, per favore, convertirlo in Swift 3. \t Sono riuscito a salvare un'animazione in formato APNG usando ImageIO, ma ho bisogno della tua libreria per caricarla in un array di UIImage. https://github.com/radif/MSSticker-Images/blob/master/Classes/mcbAnimatedImagePersister.m –

3

È davvero non documentato, ma è da qualche parte nel framework ImageIO.

posso vedere alcune stringhe APNG in CGImageProperties.h

+0

No, ImageIO non supporta APNG. Supporta GIF animati ma non APNG. – MoDJ

+2

Sono riuscito a salvare un'animazione in formato APNG usando ImageIO, ma non sono sicuro di come caricarlo in un array di UIImage https://github.com/radif/MSSticker-Images/blob/master/Classes/mcbAnimatedImagePersister.m –

+0

Noi avvertito che questi non possono essere salvati nella libreria di foto – jjxtra

2

ho trovato questo codice,

https://github.com/radif/MSSticker-Images/

è possibile creare un APNG MSSticker con mu PNG ltiply. Forse puoi estrarne una parte.

+0

E se dovessi scaricare APNG dal server e poi caricarlo in stickerview? questo esempio mostra solo di fare sticker con apng o png –