Kaedah toDataURL dalam kanvas boleh menentukan format dan kualiti pemampatan imej selepas pemampatan, contohnya, memampatkannya ke dalam format webp:
canvas.toDataURL('image/webp',quality);
toDataURL
Imej dikodkan menggunakan base64, dan fail sumber yang dikodkan adalah 33% lebih besar daripada sebelum pengekodan, rujuk alamat, tetapi parameter kualiti boleh menentukan kualiti pemampatan Semakin hampir kualiti pemampatan kepada 0, semakin besar imej pemampatan.
base64 hanya menukar kod binari yang sepadan dengan imej mengikut peraturan bahawa enam bit sepadan dengan satu aksara Selepas transkod, fail lebih besar daripada fail imej asal. Walau bagaimanapun, untuk imej kecil, bait tambahan yang dihantar selepas penukaran adalah jauh lebih murah daripada mewujudkan sambungan http tambahan, jadi base64 digunakan untuk menukar kod imej kecil untuk meningkatkan kelajuan pemuatan halaman.
Bagi prinsip pemampatan imej, secara ringkasnya, perbezaan warna pada gambar dikurangkan melalui algoritma, mengorbankan kualiti gambar. Sebagai contoh, maklumat warna empat piksel dengan warna yang serupa menduduki kira-kira 16 bait sebelum pemampatan Selepas pemampatan, ia boleh dikurangkan hampir 4 kali apabila ditukar kepada satu warna. Kualiti digunakan untuk mengawal kekuatan perbezaan warna Semakin kecil nilainya, semakin besar kekuatannya. Dua piksel dengan perbezaan warna yang besar juga akan diproses akan menjadi
Tak boleh
ialah
Kawal kualiti format pengekodan imej Sebagai contoh, webp boleh melakukan pemampatan lossy, semakin kecil kehilangan dan saiz fail yang lebih besar