Crate blit [−] [src]
Draw sprites quickly using bitwise operations and a masking color.
Usage
This crate is on crates.io and can be used by adding
blit
to the dependencies in your project's Cargo.toml
.
[dependencies]
blit = "0.3"
and this to your crate root:
extern crate blit;
Examples
⚠Be careful when using this code, it's not being tested!
extern crate image; const WIDTH: i32 = 180; const HEIGHT: i32 = 180; const MASK_COLOR: u32 = 0xFFFF00FF; let mut buffer: Vec<u32> = vec![0xFFFFFFFF; (WIDTH * HEIGHT) as usize]; let img = image::open("examples/smiley.png").unwrap(); let img_rgb = img.as_rgb8().unwrap(); // Blit directly to the buffer let pos = (0, 0); img_rgb.blit_with_mask_color(&mut buffer, (WIDTH, HEIGHT), pos, MASK_COLOR); // Blit by creating a special blitting buffer first, this has some initial // overhead but is a lot faster after multiple calls let blit_buffer = img_rgb.as_blit_buffer(MASK_COLOR); let pos = (10, 10); blit_buffer.blit(&mut buffer, (WIDTH, HEIGHT), pos); let pos = (20, 20); blit_buffer.blit(&mut buffer, (WIDTH, HEIGHT), pos); // Save the blit buffer to a file blit_buffer.save("smiley.blit");
Structs
BlitBuffer |
A data structure holding a color and a mask buffer to make blitting on a buffer real fast. |
Traits
BlitExt |
A trait adding blitting functions to image types. |