summaryrefslogtreecommitdiff
path: root/examples/example.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example.rs')
-rw-r--r--examples/example.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/examples/example.rs b/examples/example.rs
new file mode 100644
index 0000000..3ef5e0d
--- /dev/null
+++ b/examples/example.rs
@@ -0,0 +1,15 @@
+fn main() {
+ let mut png = &include_bytes!("image.png")[..];
+ let header = tiny_png::read_png_header(&mut png).expect("bad PNG");
+ println!("need {} bytes of memory", header.required_bytes());
+ let mut buffer = vec![0; header.required_bytes()];
+ let image = tiny_png::read_png(&mut png, Some(&header), &mut buffer).expect("bad PNG");
+ assert!(png.is_empty(), "extra data after PNG image end");
+ println!("{}×{} image", image.width(), image.height());
+ let pixels = image.pixels();
+ println!(
+ "top-left pixel is #{:02x}{:02x}{:02x}",
+ pixels[0], pixels[1], pixels[2]
+ );
+ // (^ this only makes sense for RGB 8bpc images)
+}