use barg::{FontGroup, Image, Size};
use png::HasParameters;
use std::fs::File;
use std::io;
pub fn write_png(
width: u32,
height: u32,
pixels: &[u8],
filename: &str,
) -> io::Result<()> {
let fl = File::create(filename)?;
let ref mut bw = io::BufWriter::new(fl);
let mut enc = png::Encoder::new(bw, width, height);
enc.set(png::ColorType::RGBA).set(png::BitDepth::Eight);
let mut writer = enc.write_header()?;
writer.write_image_data(&pixels[..])?;
Ok(())
}
fn main() {
let font = FontGroup::default();
let w = 256 * 10;
let h = 256;
let mut buffer = vec![0; w * h * 4];
let mut surface = Image::new(Size(w as u16, h as u16));
surface.text(
[0, 0, 0, 255],
(0.0, 0.0, 256.0),
&font,
"Splat And… ‽é¿?üæ",
&mut buffer,
);
write_png(w as u32, h as u32, buffer.as_slice(), "image_example.png")
.unwrap();
}