(out: &mut Vec<u8>, chunk_type: &[u8; 4], data: &[u8])
| 2877 | } |
| 2878 | |
| 2879 | fn write_png_chunk(out: &mut Vec<u8>, chunk_type: &[u8; 4], data: &[u8]) { |
| 2880 | let len = data.len() as u32; |
| 2881 | out.extend_from_slice(&len.to_be_bytes()); |
| 2882 | out.extend_from_slice(chunk_type); |
| 2883 | out.extend_from_slice(data); |
| 2884 | let crc = crc32(&[chunk_type.as_slice(), data].concat()); |
| 2885 | out.extend_from_slice(&crc.to_be_bytes()); |
| 2886 | } |
| 2887 | |
| 2888 | fn crc32(data: &[u8]) -> u32 { |
| 2889 | let mut crc: u32 = 0xFFFFFFFF; |