| Crates.io | bokeh-creator |
| lib.rs | bokeh-creator |
| version | 0.1.17 |
| created_at | 2025-10-20 15:41:27.519249+00 |
| updated_at | 2026-01-09 18:20:30.942704+00 |
| description | Easy to use library to replicate real world lens kernels |
| homepage | |
| repository | https://codeberg.org/gillesvink/bokeh-creator |
| max_upload_size | |
| id | 1892191 |
| size | 155,238 |
Simple library to replicate real world lens kernels written in Rust. Currently it requires the std library.
Add this crate to your project by adding it in your Cargo.toml:
cargo add bokeh-creator
The Image crate is optional, as there is a method to render when you specify coordinates only.
use bokeh_creator::{Renderer, Settings};
use image::Rgba32FImage;
fn main() {
let Settings = Settings {
angle: 195.3,
curvature: 0.1,
..Default::default()
};
let mut result = Rgba32FImage::new(256, 256);
let renderer = Renderer::render_to_image(&mut result, Settings);
// Do whatever you need to do with the result :)
}

use bokeh_creator::Settings;
Settings::default();

use bokeh_creator::{FilterType, Settings};
Settings {
filter_type: FilterType::Blade.into(),
angle: 195.3,
curvature: 0.1,
..Default::default()
};

use bokeh_creator::{FilterType, Settings};
Settings {
filter_type: FilterType::Blade.into(),
angle: 90.0,
blades: 15,
..Default::default()
};

use bokeh_creator::Settings;
Settings {
aspect_ratio: 0.5,
..Default::default()
};

use bokeh_creator::Settings;
Settings {
aspect_ratio: 2.0,
..Default::default()
};

use bokeh_creator::Settings;
Settings {
ring_color: 0.5,
inner_color: 0.9,
ring_size: 0.5,
..Default::default()
};

use bokeh_creator::{Noise, Settings};
Settings {
noise: {
Noise {
size: 0.3,
intensity: 1.0,
..Default::default()
}
},
..Default::default()
};

use bokeh_creator::{Noise, Settings};
Settings {
noise: {
Noise {
intensity: 0.0,
..Default::default()
}
},
..Default::default()
};

use bokeh_creator::{Noise, Settings};
Settings {
noise: {
Noise {
seed: 30,
..Default::default()
}
},
..Default::default()
};