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

#983 in Parser implementations

Download history 29/week @ 2024-08-26 12/week @ 2024-09-02 15/week @ 2024-09-09 21/week @ 2024-09-16 56/week @ 2024-09-23 17/week @ 2024-09-30 11/week @ 2024-10-07 10/week @ 2024-10-14 55/week @ 2024-10-21 136/week @ 2024-10-28 175/week @ 2024-11-04 12/week @ 2024-11-11 27/week @ 2024-11-18 20/week @ 2024-11-25 8/week @ 2024-12-02 38/week @ 2024-12-09

94 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