@@ -53,20 +53,20 @@ export const convertRgbaToPng = (rgba: Buffer, width: number, height: number, co
5353 pointer = resultBuffer . writeUInt8 ( PNG_COMPRESSION_DEFLATE , pointer ) ;
5454 pointer = resultBuffer . writeUInt8 ( PNG_FILTER_NO_FILTER , pointer ) ;
5555 pointer = resultBuffer . writeUInt8 ( PNG_INTERLACE_NO_INTERLACE , pointer ) ;
56- const ihdrCrc = crc32 ( Buffer . from ( resultBuffer . buffer , ihdrPointer , pointer - ihdrPointer ) ) ;
56+ const ihdrCrc = crc32 ( resultBuffer . subarray ( ihdrPointer , pointer ) ) ;
5757 pointer = resultBuffer . writeUInt32BE ( ihdrCrc , pointer ) ;
5858
5959 // IDAT
6060 const idatPointer = ( pointer = resultBuffer . writeUInt32BE ( compressedData . length , pointer ) ) ;
6161 pointer += resultBuffer . write ( "IDAT" , idatPointer , "ascii" ) ;
6262 pointer += compressedData . copy ( resultBuffer , pointer ) ;
63- const idatCrc = crc32 ( Buffer . from ( resultBuffer . buffer , idatPointer , pointer - idatPointer ) ) ;
63+ const idatCrc = crc32 ( resultBuffer . subarray ( idatPointer , pointer ) ) ;
6464 pointer = resultBuffer . writeUInt32BE ( idatCrc , pointer ) ;
6565
6666 // IEND (empty)
6767 const iendPointer = ( pointer = resultBuffer . writeUInt32BE ( 0 , pointer ) ) ;
6868 pointer += resultBuffer . write ( "IEND" , pointer , "ascii" ) ;
69- const iendCrc = crc32 ( Buffer . from ( resultBuffer . buffer , iendPointer , pointer - iendPointer ) ) ;
69+ const iendCrc = crc32 ( resultBuffer . subarray ( iendPointer , pointer ) ) ;
7070 pointer = resultBuffer . writeUInt32BE ( iendCrc , pointer ) ;
7171
7272 if ( pointer !== resultBuffer . byteLength ) {
0 commit comments