#png #push #rgb #pix #false #save #image

svpng

A small function for saving RGB/RGBA image into uncompressed PNG

2 releases

0.1.1 Mar 1, 2019
0.1.0 Mar 1, 2019

#1008 in Images

CC0 license

300KB
133 lines

svpng

Rust version of miloyip/svpng.

Usage

Either using the svpng crate or just copy the src/lib.rs somewhere you want.

Examples

use svpng::svpng;

use std::io;

fn main() -> io::Result<()> {
    {
        // RGB
        let mut pix = Vec::new();
        for y in 0..=255 {
            for x in 0..=255 {
                pix.push(x);
                pix.push(y);
                pix.push(128);
            }
        }
        svpng("rgb.png", 256, 256, &pix, false)?;
    }

    {
        // RGBA
        let mut pix = Vec::new();
        for y in 0..=255 {
            for x in 0..=255 {
                pix.push(x);
                pix.push(y);
                pix.push(128);
                pix.push(x / 2 + y / 2);
            }
        }
        svpng("rgba.png", 256, 256, &pix, true)?;
    }

    Ok(())
}

RGB


RGBA

No runtime deps