imgfx 0.2.0

Image filtering and modulating with bitwise, arithmetic, and logical operations.
Documentation

imgfx

Provides configurable low-level operations (arithmetic, logical, bitwise) and high-level operations (bloom, blending modes, pixel sorting) for images.

Functions:

  • add, sub, mult, div
  • bitshift left | right
  • and, or, xor (and their complements with -n flag)
  • screen, overlay, average
  • bloom

All functions support operand reordering, allowing precise control over how the image's color channels are processed. Operand reordering lets you redefine how the source image's R, G, and B channels are mapped during the operation.

Each function accepts an image::DynamicImage and returns an image::RgbaImage.

use imgfx::{add};

let img = image::open(path).expect("Failed to open image.");

// Add each pixel's color, mapped as R R B and FF0000. let output = add(img, ["r".to_string(), "r".to_string(), "b".to_string()], None, RgbColor(255, 0, 0))

Future developments:

  • Pixel sorting by some condition like hue, luminance, etc
  • Option to make bloom faster for use in videos