En | 中文
Gifsicle Wasm Browser
Run Gifsicle in your browser to compress, crop, frame, resize, and more on GIFs.
Function
- Fully restore the functionality of Gifsicle 1.92
- Supports input and output of multiple GIFs
- Supports multiple commands
- Small (Gzip≈150KB)
- no dependencies
Demo
Basic usage
For more commands, please refer to the Gifsicle Manual.
Complete example
gifsicleTool.js By combining multiple commands, it can complete more practical functions.
- Merge after modifying size
- Overlay Mode Resize
- Parse Gif information
- play backwards
- Export all frames
- Cut excess transparency
Quick start
npm install
$ npm i gifsicle-wasm-browser --save
import gifsicle from "gifsicle-wasm-browser";
gifsicle.run({
input: [{
file: "./cat.gif",
name: "1.gif",
}],
command: ["--resize 100x_ 1.gif -o /out/out.gif"],
})
.then(async(d) => {
console.log(d);
// [File]
});
cdn
<script type="module">
import gifsicle from 'https://unpkg.com/gifsicle-wasm-browser/dist/gifsical.min.js'
// or
import gifsicle from 'https://cdn.jsdelivr.net/npm/gifsicle-wasm-browser/dist/gifsicle.min.js'
...
})
</script>
Api
gifsicle.run()
input
-
Array
: input Gif file -
-
String
: the web url of the GIF -
File
,Blob
,ArrayBuffer
: local files obtained via<input type=load />
-
-
-
String
: the filename that will be used incommand
-
command
-
Array
: command to execute
folder
-
Array
: (optional) folder name to be used incommand
isStrict
-
Boolean
: (optional)command
ends immediately on error - default:
false
Tips
-
name
ininput
can be customized, but cannot be repeated. - The last line of
command
must contain-o /out/**.gif
, - The default available directories are
/
,/out
,/tem
, whencommand
is executed, all files in/out
will be exported -
command
will be executed one by one in sequence, please use multiplegifsicle.run()
if you need to process multiple GIFs at the same time. Execute sequentially | Execute simultaneously
Author
gifsicle-wasm-browser is @renzhezhilu at wasm-codecs/gifsicle and Developed on the basis of gifsicle.
To do
- [x] single Gif input and output
- [x] Multiple Gif input and output (full version)
- [x] Npm
- [ ] Multi-core processing (SharedArrayBuffer)