BitMappery

Browser based image editing

BitMappery is a web application that allows users to work with image content without requiring installation or download of any other utilities.

With the initial application created over the course of a month, BitMappery started as an exercise in reusing knowledge to create a custom application to "quickly edit images" or "a tool to draw infantile content" with. Open source and public from day one, the application has continued to be extended with new features and community input.

Reuse of other igorski libraries

BitMappery uses the HTMLCanvasElement for its display and editing and as such reuses the zCanvas library by igorski.nl as a convenient abstraction layer to provide event handling and interactions of individual drawable elements.

BitMappery expands upon the basic rendering functionality to introduce the concept of zooming, where the viewport can show a scaled version of a larger / smaller source "document".

Tweaked for performance

BitMappery uses Web Workers for file import / export as well as application of effects, keeping the application UI responsive during heavy oeprations.

Each Layer within BitMappery can maintain its own cache, invalidating it only when the visual appearance of the layer changes. Layers can also cache underlying layers when using blend modes.

Brushing operations have been optimized to work in real-time. WASM based filtering is available, though the Worker based pure-JS variant can outperform in certain environments.

Cloud storage integration

BitMappery can open and save files from/to your file system but can also integrate with third party storage providers.

Out of the box, integrations with both the DropBox and Google Drive API's are provided, which are also enabled on the web hosted version on this website, though the Google Drive API only provides access to content created by BitMappery*.

*Having your own API keys and integration should broaden the access scopes.

Fully configurable

Apart from the full application as it is hosted on igorski.nl, the repository also contains a configuration to run a self hosted version inside Docker.

When a S3-compatible (for instance MinIO) instance is available, BitMappery can then be configured to read/write from S3 storage, which opens up possibilities to use the application within a shared, privately controlled environment.