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
47
48
49
50
51
52
53
54
55
56
57
58
//! Top-level library module re-exporting core functionality for image decoding, encoding, and processing.
//!
//! This crate provides:
//! - **Array and SVec** structures for image data representation (`array::svec`).
//! - **Image decoding** from file paths or byte buffers (`read::read_in_path`).
//! - **Image saving** to various formats (`save::save`).
//! - **Color conversions** (grayscale, YCbCr, CMYK, channel swaps) via `cvt_color`.
//! - **Halftone effects** (`halftone`, `rotate_halftone`).
//! - **Screentone effects** (`screentone`, `rotate_screentone`).
//!
//! # Usage Example
//!
//! ```rust
//! use pepecore::{
//! svec::SVec,
//! read,
//! save,
//! cvt_color,
//! halftone,
//! screentone,
//! color_levels,
//! enums::{ImgColor, CVTColor}
//! };
//! use pepecore::cvt_color::cvt_color;
//! use pepecore::enums::DotType;
//! use pepecore::read::read_in_path;
//!
//! // Decode an image file as RGB:
//! let mut img: SVec = read_in_path("input.png", ImgColor::RGB).unwrap();
//!
//! // Convert RGB to grayscale using BT.709:
//! cvt_color(&mut img, CVTColor::RGB2Gray_709);
//!
//! // Apply a halftone effect:
//! screentone(&mut img, 5, &DotType::CIRCLE);
//!
//!
//! // Save result as PNG:
//! save::svec_save(img, "output.png").unwrap();
//! ```
// Re-export common types and functions
pub use svec;
pub use read;
pub use save;
pub use cvt_color;
pub use halftone;
pub use rotate_halftone;
pub use rotate_screentone;
pub use screentone;
pub use color_levels;