Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/julianwachholz/wmask

Use GMask online in your browser, now with video support.
https://github.com/julianwachholz/wmask

canvas gmask image-manipulation javascript

Last synced: about 1 month ago
JSON representation

Use GMask online in your browser, now with video support.

Awesome Lists containing this project

README

        

=====
wmask
=====

wmask is a web based version of the more or less infamous image editing tool
GMask. This tool was written in honour of `Atwood's Law`_.

.. _Atwood's Law: http://blog.codinghorror.com/the-principle-of-least-power/

Features
--------

All of the following features have been implemented and are working as they
should:

- XOR 0x80
- XOR 0xFF (Negate colours)
- RGB Channel swap
- Flip horizontally and vertically
- Vertical and horizontal glass blocks
- Win mask
- Meko mask
- FL mask
- CP mask (password protection)

Video support
-------------

``wmask`` works on any image that your browser can display, and also supports
masking entire videos! Yes you read that right, you can use GMask on videos
now. I've only tested support for WebM for now, but again, any format your
browser can play is supported. Videos will be output as intraframe WebM video,
directly compiled in your browser, thanks to the `Whammy`_ library.

.. _Whammy: https://github.com/antimatter15/whammy

Since these WebM videos are generated by stacking together all frames
individually without any clever image re-use, the produced output is extremely
large. You should put the generated video through ``ffmpeg``::

$ ffmpeg -i output.webm -c:v libvpx optimized.output.webm

Unfortunately due to the video compression taking place there will be some
smaller artifacts in the video. Consider it a feature.

Demo
----

You can demo the tool at https://wmask.ju.io. The project contains some simple
event tracking using Google Analytics, but your Do-Not-Track setting will be
honoured. If your browser does not support DNT, you can also access the site
with ``#dnt`` in the URL to trigger the same effect: https://wmask.ju.io/#dnt

Todo
----

A short and incomplete list of things I want to implement in this tool:

- Web Workers
- GIF support, if feasible
- ...

License
-------

Released under the GPLv3 license. See `LICENSE`_ for further details.

.. _LICENSE: https://github.com/julianwachholz/wmask/blob/master/LICENSE

Contributing
------------

Yes, please. Any improvement or recommendation is welcome.