Saya perlu menggunakan kanvas untuk memproses gambar yang dimuat naik oleh pengguna Saiz yang dimuat naik oleh pengguna mungkin sangat besar, contohnya, ia akan melebihi lebar dan ketinggian tetingkap penyemak imbas semasa, jadi saya menskalakannya secara berkadaran dengan yang boleh dilihat. kawasan penyemak imbas Kemudian lukiskannya ke kanvas, tetapi ini sama dengan mengurangkan gambar pengguna Selepas kanvas diproses, adakah terdapat cara untuk memulihkan gambar yang diproses kepada saiz asalnya tanpa menyebabkan kabur?
Lebar dan ketinggian kanvas ditetapkan kepada sama dengan saiz asal imej, tetapi gaya digunakan untuk menskalakan kanvas ke kawasan yang boleh dilihat. Dengan cara ini imej tidak akan dimampatkan
Terima kasih atas jemputan Walaupun saya ingin menjawab anda, saya belum mencubanya, jadi saya tidak tahu. Sudah tentu anda boleh mencubanya sendiri, ia tidak akan mengambil banyak masa.
Tetapi kita boleh mengubah pemikiran kita Mengapa anda mahu mengurangkan imej dan melukisnya di atas kanvas?
Tidakkah mungkin untuk menskalakan imej ke kawasan yang boleh dilihat tanpa lebar maks atau ketinggian maks? Ini hanyalah imej yang dikurangkan pada permukaan Sebenarnya, naturalWidth dan naturalHeight tidak berubah, jadi pemulihan zum sebenarnya tidak diperlukan.
Anda boleh menggunakan img untuk memaparkan dalam kawasan pelayar yang boleh dilihat. Jangan gunakan kanvas digunakan untuk memproses imej. Jika anda perlu memaparkan imej yang sedang diproses oleh kanvas, maka anda hanya boleh mencipta kanvas luar skrin yang lain, kemudian skala pemprosesan yang berkaitan secara berkadar, dan akhirnya simpan kanvas luar skrin.
Saya tidak tahu sama ada saya menjelaskannya.
Praproses muat naik imej HTML5 https://juejin.im/entry/5933e...