fn main() { let orig = std::fs::read("/mnt/extra/00_PROJECTS/hcie-rust-v4/_images/_test_images/example3/Example3-mini.psd").unwrap(); let saved = std::fs::read("/mnt/extra/00_PROJECTS/hcie-rust-v4/_tmp/Example3-mini-roundtrip.psd").unwrap(); let orig_psd = hcie_psd::Psd::from_bytes(&orig).unwrap(); let saved_psd = hcie_psd::Psd::from_bytes(&saved).unwrap(); let o_rgba = orig_psd.rgba(); let s_rgba = saved_psd.rgba(); println!("First 20 pixel differences:"); let mut printed = 0; for idx in 0..orig_psd.width() as usize * orig_psd.height() as usize { let o_r = o_rgba[idx * 4]; let o_g = o_rgba[idx * 4 + 1]; let o_b = o_rgba[idx * 4 + 2]; let o_a = o_rgba[idx * 4 + 3]; let s_r = s_rgba[idx * 4]; let s_g = s_rgba[idx * 4 + 1]; let s_b = s_rgba[idx * 4 + 2]; let s_a = s_rgba[idx * 4 + 3]; if o_r != s_r || o_g != s_g || o_b != s_b || o_a != s_a { let x = idx % orig_psd.width() as usize; let y = idx / orig_psd.width() as usize; println!(" pixel ({}, {}): orig=[{}, {}, {}, {}] saved=[{}, {}, {}, {}]", x, y, o_r, o_g, o_b, o_a, s_r, s_g, s_b, s_a ); printed += 1; if printed >= 20 { break; } } } }