8 releases

0.2.4 Nov 6, 2024
0.2.3 Sep 28, 2018
0.2.0 Dec 14, 2016
0.1.2 Dec 10, 2016

#1046 in Parser implementations

Download history 18/week @ 2024-09-29 13/week @ 2024-10-06 9/week @ 2024-10-13 54/week @ 2024-10-20 133/week @ 2024-10-27 171/week @ 2024-11-03 21/week @ 2024-11-10 25/week @ 2024-11-17 21/week @ 2024-11-24 8/week @ 2024-12-01 34/week @ 2024-12-08 33/week @ 2024-12-15 4/week @ 2024-12-22 8/week @ 2024-12-29 26/week @ 2025-01-05 28/week @ 2025-01-12

69 downloads per month
Used in elma-lgr

MIT OR Apache-2.0 OR WTFPL

57KB
1K SLoC

Library for reading and writing PCX images for Rust

Add it to you dependencies:

[dependencies]
pcx = "0.2"

See API documentation for more info.

License

This project is licensed under either of

at your option.

Note that these licenses do not cover the test images (test-data folder).


lib.rs:

Library for reading and writing PCX images.

Example of reading a PCX image:

 let mut reader = pcx::Reader::from_file("test-data/marbles.pcx").unwrap();
 println!("width = {}, height = {}, paletted = {}", reader.width(), reader.height(), reader.is_paletted());

 let mut buffer = vec![0; reader.width() as usize * reader.height() as usize * 3];
 reader.read_rgb_pixels(&mut buffer).unwrap();

Example of writing a PCX image:

 // Create 5x5 RGB file.
 let mut writer = pcx::WriterRgb::create_file("test.pcx", (5, 5), (300, 300)).unwrap();
 for y in 0..5 {
     // Write 5 green pixels.
     writer.write_row(&[0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0]);
 }
 writer.finish().unwrap();

This library does not implement its own error type, instead it uses std::io::Error. In the case of an invalid PCX file it will return an error with .kind() == ErrorKind::InvalidData.

Dependencies

~115KB