Lenna is a program that can be easily extended with plugins to add more functionality. These plugins are divided into three types.
- Input Plugins - Load images from sources like files on the device or download them from the web.
- Edit Plugins - Convert images and execute filter on them.
- Output Plugins - Save images to the device or uploads them to the web.
Plugins which are developed in c++ must implement the following interfaces.
An example for an input plugin is filechooser.
An example for an edit plugin is blur.
An example for an output plugin is savefile.
lenna-core and lenna-plugins are developed in Rust. That allows to compile them to wasm and use them for plugins on lenna.app.
The goal here is also to use them as plugin in for the lenna desktop app.
An example is the cartoonify-plugin.