{"_id":"gif.js.optimized","_rev":"4-9b152f4fd06a0a13babebfdecd8222e8","name":"gif.js.optimized","description":"JavaScript GIF encoding library","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"gif.js.optimized","version":"1.0.0","description":"JavaScript GIF encoding library","author":{"name":"Roman Viskin","email":"npm@terikon.com"},"main":"./dist/gif.js","repository":{"type":"git","url":"git+https://github.com/terikon/gif.js.optimized.git"},"devDependencies":{"webpack":"^1.13.2","coffee-script":"^1.11.0","coffee-loader":"^0.7.2","webpack-merge":"^0.14.1"},"scripts":{"prepublish":"webpack --config build/webpack.main.config.js && webpack --config build/webpack.worker.config.js"},"browser":"./dist/gif.js","keywords":["gif","animation","encoder"],"license":"MIT","gitHead":"c1161aabbc41c16db948c2aabdc3a5bb82e7bc9b","bugs":{"url":"https://github.com/terikon/gif.js.optimized/issues"},"homepage":"https://github.com/terikon/gif.js.optimized#readme","_id":"gif.js.optimized@1.0.0","_shasum":"ad7fb6f009860bb4c23c477d23b2a81db35554fd","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.5.0","_npmUser":{"name":"terikon","email":"npm@terikon.com"},"dist":{"shasum":"ad7fb6f009860bb4c23c477d23b2a81db35554fd","tarball":"https://registry.npmjs.org/gif.js.optimized/-/gif.js.optimized-1.0.0.tgz","integrity":"sha512-1qZl3zf2ql+WpMJNg4AO5Z+505vfzepnA2K7XiKzALFk23vekAicE0VJdswdLRv+p3qbP6os2I46nXVb6cA+6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANp6MrmOrpGNZVKeK00YU7JoMrvhLMdR0pJXZ3+HfAhAiEA5DhL1FAgB33WSbH9JW4T5vMjFO8ryTAbZuwBSN3sea4="}]},"maintainers":[{"name":"terikon","email":"npm@terikon.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/gif.js.optimized-1.0.0.tgz_1475232437590_0.8314006256405264"}},"1.0.1":{"name":"gif.js.optimized","version":"1.0.1","description":"JavaScript GIF encoding library","author":{"name":"Roman Viskin","email":"npm@terikon.com"},"main":"./dist/gif.js","repository":{"type":"git","url":"git+https://github.com/terikon/gif.js.optimized.git"},"devDependencies":{"webpack":"^1.13.2","coffee-script":"^1.11.0","coffee-loader":"^0.7.2","webpack-merge":"^0.14.1"},"scripts":{"prepublish":"webpack --config build/webpack.main.config.js && webpack --config build/webpack.worker.config.js"},"browser":"./dist/gif.js","keywords":["gif","animation","encoder"],"license":"MIT","gitHead":"fd64ff6a873f7afdd35c6253385ea226452faa98","bugs":{"url":"https://github.com/terikon/gif.js.optimized/issues"},"homepage":"https://github.com/terikon/gif.js.optimized#readme","_id":"gif.js.optimized@1.0.1","_shasum":"20fa5403654dfec402ae5f41f2385bebd8099105","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.5.0","_npmUser":{"name":"terikon","email":"npm@terikon.com"},"dist":{"shasum":"20fa5403654dfec402ae5f41f2385bebd8099105","tarball":"https://registry.npmjs.org/gif.js.optimized/-/gif.js.optimized-1.0.1.tgz","integrity":"sha512-IS0F42Xken6lp/iR4irgG4r52tvxRkEKsXGZmlUHUOb00SWNMezJOJwkVaJk2MLW53rqzMbPnnBtEhs9hcMJ9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQq5l0CgRDAr+BJ98NaANXZo1YbK8x6wPVzzy8tD+9MAiBoHYFvbGBTMgixWK7/Mfugdpnx9uIbwlkNQtQjMWQD3w=="}]},"maintainers":[{"name":"terikon","email":"npm@terikon.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/gif.js.optimized-1.0.1.tgz_1475236605751_0.41251181019470096"}}},"readme":"\r\n# gif.js.optimized\r\n\r\nOptimized version of [gif.js](https://github.com/jnordberg/gif.js)\r\n\r\n- When duplicate frames are added with gif.addFrame(), they will be processed only once - helpful for forward-backwards animations.\r\n- Images that were generated by web workers being *transferred* back, to reduce memory usage and improve speed.\r\n- Added boolean debug parameter, will print info to console only when set to true.\r\n- Some micro code optimizations.\r\n- Build replaced with webpack.\r\n\r\nAll the changes see [here](https://github.com/jnordberg/gif.js/compare/master...terikon:master)\r\n\r\n# gif.js\r\n\r\nJavaScript GIF encoder that runs in your browser.\r\n\r\nUses typed arrays and web workers to render each frame in the background, it's really fast!\r\n\r\n**Demo** - http://terikon.github.io/gif.js.optimized/\r\n\r\nWorks in browsers supporting: [Web Workers](http://www.w3.org/TR/workers/), [File API](http://www.w3.org/TR/FileAPI/) and [Typed Arrays](https://www.khronos.org/registry/typedarray/specs/latest/)\r\n\r\nTested in\r\n  * Google Chrome\r\n  * Firefox 17\r\n  * Safari 6\r\n  * Internet Explorer 10\r\n  * Mobile Safari iOS 6\r\n\r\n## Usage\r\n\r\nInclude `gif.js` found in `dist/` in your page. Also make sure to have `gif.worker.js` in the same location.\r\n\r\n```javascript\r\nvar gif = new GIF({\r\n  workers: 2,\r\n  quality: 10\r\n});\r\n\r\n// add an image element\r\ngif.addFrame(imageElement);\r\n\r\n// or a canvas element\r\ngif.addFrame(canvasElement, {delay: 200});\r\n\r\n// or copy the pixels from a canvas context\r\ngif.addFrame(ctx, {copy: true});\r\n\r\ngif.on('finished', function(blob) {\r\n  window.open(URL.createObjectURL(blob));\r\n});\r\n\r\ngif.render();\r\n```\r\n\r\n## Options\r\n\r\nOptions can be passed to the constructor or using the `setOptions` method.\r\n\r\n| Name         | Default         | Description                                        |\r\n| -------------|-----------------|----------------------------------------------------|\r\n| repeat       | `0`             | repeat count, `-1` = no repeat, `0` = forever      |\r\n| quality      | `10`            | pixel sample interval, lower is better             |\r\n| workers      | `2`             | number of web workers to spawn                     |\r\n| workerScript | `gif.worker.js` | url to load worker script from                     |\r\n| background   | `#fff`          | background color where source image is transparent |\r\n| width        | `null`          | output image width                                 |\r\n| height       | `null`          | output image height                                |\r\n| transparent  | `null`          | transparent hex color, `0x00FF00` = green          |\r\n\r\nIf width or height is `null` image size will be deteremined by first frame added.\r\n\r\n### addFrame options\r\n\r\n| Name         | Default         | Description                                        |\r\n| -------------|-----------------|----------------------------------------------------|\r\n| delay        | `500`           | frame delay                                        |\r\n| copy         | `false`         | copy the pixel data                                |\r\n\r\n## Wishlist\r\n\r\nIf you want to contribute, here's some stuff that would be nice to have.\r\n\r\n * Tests\r\n * Fallbacks and polyfills for old browsers\r\n * Dithering!\r\n\r\n## Acknowledgements\r\n\r\ngif.js is based on:\r\n\r\n * [Kevin Weiner's Animated gif encoder classes](http://www.fmsware.com/stuff/gif.html)\r\n * [Neural-Net color quantization algorithm by Anthony Dekker](http://members.ozemail.com.au/~dekker/NEUQUANT.HTML)\r\n * [Thibault Imbert's as3gif](https://code.google.com/p/as3gif/)\r\n\r\n## License\r\n\r\nThe MIT License (MIT)\r\n\r\nCopyright (c) 2013 Johan Nordberg\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in\r\nall copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\nTHE SOFTWARE.\r\n","maintainers":[{"name":"terikon","email":"npm@terikon.com"}],"time":{"modified":"2022-06-18T08:17:33.308Z","created":"2016-09-30T10:47:18.703Z","1.0.0":"2016-09-30T10:47:18.703Z","1.0.1":"2016-09-30T11:56:48.995Z"},"homepage":"https://github.com/terikon/gif.js.optimized#readme","keywords":["gif","animation","encoder"],"repository":{"type":"git","url":"git+https://github.com/terikon/gif.js.optimized.git"},"author":{"name":"Roman Viskin","email":"npm@terikon.com"},"bugs":{"url":"https://github.com/terikon/gif.js.optimized/issues"},"license":"MIT","readmeFilename":"README.md"}