tianyun 1 年之前
父节点
当前提交
f1e2669b7a
共有 1 个文件被更改,包括 22 次插入22 次删除
  1. 22 22
      simple-demo/webp.html

+ 22 - 22
simple-demo/webp.html

@@ -46,32 +46,32 @@
         handleClipboardItems(event.dataTransfer.items);
     });
 
-    function compressImage(blobFile, quality = 0.8) {
-        // 返回一个Promise对象
-        return new Promise((resolve, reject) => {
-            // 创建一个Image对象
-            const image = new Image();
-            // 当Image对象加载完成时,执行以下操作
-            image.onload = () => {
-                const canvas = document.createElement("canvas");
-                canvas.width = image.naturalWidth;
-                canvas.height = image.naturalHeight;
-                const context = canvas.getContext("2d");
-                context.drawImage(image, 0, 0);
-                canvas.toBlob((webpBlob) => {
-                    // 解决Promise,并传递压缩后的Blob对象
-                    resolve(webpBlob);
-                }, "image/webp", quality);
-                // 如果在转换过程中发生错误,拒绝Promise
-            };
-            image.src = URL.createObjectURL(blobFile);
-        });
-    }
+
 
     function compressImageToSize(blobFile, targetSize = 300 * 1024, maxIterations = 5, minQuality = 0.01) {
         let currentQuality = 0.8; // 初始压缩质量
         let iteration = 0; // 当前迭代次数
-
+        function compressImage(blobFile, quality = 0.8) {
+            // 返回一个Promise对象
+            return new Promise((resolve, reject) => {
+                // 创建一个Image对象
+                const image = new Image();
+                // 当Image对象加载完成时,执行以下操作
+                image.onload = () => {
+                    const canvas = document.createElement("canvas");
+                    canvas.width = image.naturalWidth;
+                    canvas.height = image.naturalHeight;
+                    const context = canvas.getContext("2d");
+                    context.drawImage(image, 0, 0);
+                    canvas.toBlob((webpBlob) => {
+                        // 解决Promise,并传递压缩后的Blob对象
+                        resolve(webpBlob);
+                    }, "image/webp", quality);
+                    // 如果在转换过程中发生错误,拒绝Promise
+                };
+                image.src = URL.createObjectURL(blobFile);
+            });
+        }
         function attemptCompression() {
             return new Promise((resolve, reject) => {
                 // 递归调用compressImage函数进行压缩