Parse PNG or APNG (Animated PNG) to ImageData for React Native
npm install react-native-pixel-png



> Parse PNG or APNG (Animated PNG) to ImageData for React Native.
bash
$ npm install react-native-pixel-png
`
For RN >= 0.65, run npm install react-native-blob-util.For RN < 0.65, run
npm install react-native-blob-util@0.16.3, and patch manually to fix: with react-native-web product build will export 'URIUtil' (reexported as 'URIUtil') was not found.
`js
var pixelPng= require('react-native-pixel-png');
console.log(pixelPng); //function
`API
pixelPng.parse(
file) -> promise.then(images)return
images is Array contains one or more ImageData.`js
var file= 'https://59naga.github.io/fixtures/animated.PNG';pixelPng.parse(file).then(function(images){
var i= 0;
console.log(images.numPlays); // 0(Infinite)
console.log(images.playTime); // 1600
var nextImage= function(){
var imageData= images[i++];
if(imageData==null) return;
console.log(imageData);
nextImage();
}
nextImage();
});
// { width: 73, height: 73, left: 0, top: 0, delay: 1000, disposeOp: 0, blendOp: 0, interlace: false, alpha: true, bpp: 1, color: true, colorType: 3, depth: 8, gamma: 0, height: 57, interlace: false, data: }
// { width: 73, height: 73, left: 0, top: 0, delay: 900, disposeOp: 0, blendOp: 0, interlace: false, alpha: true, bpp: 1, color: true, colorType: 3, depth: 8, gamma: 0, height: 57, interlace: false, data: }
// { width: 73, height: 73, left: 0, top: 0, delay: 800, disposeOp: 0, blendOp: 0, interlace: false, alpha: true, bpp: 1, color: true, colorType: 3, depth: 8, gamma: 0, height: 57, interlace: false, data: }
// ...
// If not animated png, will be
// [{width: 35, height: 35, alpha: true, bpp: 4, color: true, colorType: 6, depth: 8, gamma: 0, interlace: false, palette: false, data: }]
`
> images can be resized and also keep property e.g. delay by resizeImageDatas` of react-native-pixel-util.License
---
[MIT][License]
[License]: http://59naga.mit-license.org/