https://github.com/matmen/ImageScript
zero-dependency JavaScript image manipulation
https://github.com/matmen/ImageScript
deno gif hacktoberfest image image-manipulation image-processing images javascript jpeg jpg nodejs picture png
Last synced: 22 days ago
JSON representation
zero-dependency JavaScript image manipulation
- Host: GitHub
- URL: https://github.com/matmen/ImageScript
- Owner: matmen
- License: other
- Created: 2020-11-14T23:16:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T19:31:09.000Z (about 1 year ago)
- Last Synced: 2024-10-29T17:28:07.716Z (6 months ago)
- Topics: deno, gif, hacktoberfest, image, image-manipulation, image-processing, images, javascript, jpeg, jpg, nodejs, picture, png
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/imagescript
- Size: 31.5 MB
- Stars: 633
- Watchers: 4
- Forks: 32
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nodejs - ImageScript - zero-dependency JavaScript image manipulation.  (Repository / Image)
- awesome-nodejs - ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance. (Packages / Image)
- awesome-deno - ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance. (Modules / Image)
- awesome-nodejs-cn - ImageScript - **star:647** 图像处理的JavaScript,利用WebAssembly的性能。 (包 / 图像)
README
# ImageScript
##### zero-dependency JavaScript image manipulation
[](https://discord.gg/8hPrwAH)
[](https://imagescript.matmen.dev/)
[](https://github.com/matmen/ImageScript)
[](https://deno.land/x/imagescript)
[](https://www.npmjs.com/package/imagescript)---
**ImageScript** is a zero-dependency alternative to common JavaScript bitmap image manipulation tools. It can achieve
much more performant results by utilizing lower-level memory access, less memory copying and WebAssembly / native
binaries for decoding and encoding.---
### Features
- [Decoding images](https://imagescript.matmen.dev/Image.html#.decode)
- PNGs (grayscale, RGB, indexed colors) with and without alpha channels
- JPEGs (grayscale, RGB, CMYK)
- TIFFs
- [Decoding GIFs](https://imagescript.matmen.dev/GIF.html#.decode)
- [Rendering SVGs](https://imagescript.matmen.dev/Image.html#.renderSVG)
- [Rendering vector fonts](https://imagescript.matmen.dev/Image.html#.renderText)
- Image manipulation functions ([crop](https://imagescript.matmen.dev/Image.html#crop)
, [rotate](https://imagescript.matmen.dev/Image.html#rotate)
, [composite](https://imagescript.matmen.dev/Image.html#composite), ...)
- Color manipulation functions ([invert](https://imagescript.matmen.dev/Image.html##invert)
, [hueShift](https://imagescript.matmen.dev/Image.html##hueshift), ...)
- Color information functions ([averageColor](https://imagescript.matmen.dev/Image.html#averageColor)
, [dominantColor](https://imagescript.matmen.dev/Image.html#dominantColor), ...)
- Encoding images as [PNGs](https://imagescript.matmen.dev/Image.html#encode)
, [JPEGs](https://imagescript.matmen.dev/Image.html#encodejpeg)
, [WEBPs](https://imagescript.matmen.dev/Image.html#encodeWEBP)
and [GIFs](https://imagescript.matmen.dev/GIF.html#encode)---
### Example
Check out one of these examples:
* **NodeJS**: [README image generation](https://github.com/matmen/ImageScript/blob/master/tests/readme.js)
* **Deno**: [README image generation](https://github.com/matmen/ImageScript/blob/deno/tests/readme.js)
* **Browser**: [Grayscale Conversion Example Page](https://github.com/matmen/ImageScript/blob/browser/example/index.html) (via CDN)[](https://github.com/matmen/ImageScript/blob/master/tests/readme.js)
---
If you have any additional questions, feel free to join the [discord support server](https://discord.gg/8hPrwAH).