| Crates.io | image-overlay |
| lib.rs | image-overlay |
| version | 2.0.0 |
| created_at | 2025-01-04 18:37:28.808769+00 |
| updated_at | 2025-08-31 05:29:54.222669+00 |
| description | Overlay an image with blend mode. |
| homepage | |
| repository | https://github.com/aiueo13/image-overlay |
| max_upload_size | |
| id | 1504141 |
| size | 50,406 |
This crate supports overlaying images with 26 (+1) blend modes.
This is to be used with image crate as following:
use image::{DynamicImage, ImageBuffer, Rgba, Luma};
use image_overlay::{overlay, overlay_dyn_img, BlendMode};
let mut dest = ImageBuffer::<Rgba<f32>, Vec<f32>>::new(100, 100);
let src = ImageBuffer::<Luma<u8>, Vec<u8>>::new(100, 100);
overlay(&mut dest, &src, 0, 0, BlendMode::default());
let mut dest = DynamicImage::new_rgba8(100, 100);
let src = DynamicImage::new_luma8(100, 100);
// Do NOT use "overlay" for DynamicImage.
// Use "overlay_dyn_img" insted.
overlay_dyn_img(&mut dest, &src, 0, 0, BlendMode::default());
Use f32 as an intermediate representation by default. If you need calc with f64, please enable "f64" feature.
If you need overlay with BlendMode::Dissolve, please enable "blend_dissolve" feature.
If you need serde::Serialize/Deserialize for BlendMode, please enable "serde" feature.