[−][src]Crate nanachi
Nanachi
Nanachi is a 2D graphics library for Rust.
Features
- path filling and stroking
- color with: linear gradients, radial gradients and patterns
- 24 composition types
- anti-aliasing (can be disabled)
- path transformation: translation, scaling and rotation
Example
Basic usage example is following:
use image::RgbaImage; use nanachi::{ compositor, context::{Context, FillStyle}, fill_color, fill_rule, path_builder::PathBuilder, pixel::Rgba, }; let (width, height) = (512, 512); // Make a Context let mut context = Context::from_pixel(width, height, Rgba([1.0, 1.0, 1.0, 1.0])).high_quality(); // Make a Path let mut builder = PathBuilder::new(); builder.move_to(100.0, 100.0); builder.line_to(200.0, 100.0); builder.line_to(200.0, 200.0); builder.line_to(100.0, 200.0); builder.close(); let path = builder.end(); // Make a FillStyle for filling let fill_style = FillStyle::new( fill_color::Solid::new(Rgba([1.0, 0.0, 0.0, 0.7])), compositor::SrcOver, fill_rule::NonZero, ); // Fill the path context.fill(&path, &fill_style); // Make a FillStyle for stroking let fill_style = FillStyle::new( fill_color::Solid::new(Rgba([0.0, 0.0, 1.0, 1.0])), compositor::SrcOver, fill_rule::NonZero, ); // Stroke the path context.stroke(&path, &fill_style, 8.0); // Save the image let img: RgbaImage = (&context.image).into(); img.save("./basic.png").unwrap();
Re-exports
pub extern crate image; |
Modules
buffer |
|
compositor | Collection of composition types. |
context |
|
draw_image | |
fill_color | Collection of colorization types. |
fill_rule |
|
image_crate_adapter | Interfaces for image crate. |
interpolation | Collection of interpolation types. |
k_curve | Κ-curves implementation |
matrix | Affine transformation |
path |
|
path_builder | PathBuilder |
path_data_notation | |
path_flatten | Make path flatten. |
path_outline | Generate path outline. |
path_segments | Segments |
path_transform | Path transformation. |
pixel |
|
point |
|
primitives | Primitive shape generators. |
rasterize |
|
writer |