Expand description
§Rasterization
This crate provides iterators and adapters for generating sequential coordinates for various shapes of a circle or its parts using Bresenham’s algorithm.
§Gallery
Visual examples of different shapes:
![]() | ![]() | ![]() | ![]() | ![]() |
---|
§Examples
Here’s how to use the crate:
use rasterization::{Rasterization, SemicircleFilled, DirectionGradient::Bottom};
let radius = 128_usize;
let iter = SemicircleFilled::<i32>::new(radius)
.circle()
.offset(radius as i32, radius as i32);
let iter = SemicircleFilled::<i32>::new(radius)
.circle_long(-128, 0)
.offset((radius * 2) as i32, radius as i32);
let iter = SemicircleFilled::<i32>::new(radius)
.semicircle_top()
.offset(radius as i32, radius as i32);
let iter = SemicircleFilled::<i32>::new(radius)
.semicircle_bottom()
.offset(radius as i32, radius as i32);
let iter = SemicircleFilled::<i32>::new(radius)
.circle()
.offset(radius as i32, radius as i32)
.gradient(radius as i32, radius * 2, Bottom(colorous::BROWN_GREEN));
Structs§
- Semicircle
Filled - An iterator of successive coordinates of a filled semicircle, using Bresenham’s algorithm.
Enums§
- Direction
Gradient - Enum for selecting the gradient direction and setting the color gradient type.
Traits§
- Rasterization
- The trait for rasterization of given figures.