1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! # 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
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;