刘哲学
刘哲学
  • 发布:2025-03-07 15:16
  • 更新:2025-03-07 15:16
  • 阅读:41

使用uniapp vue3 编写微信小程序,向canvas绘制本地图片,selected_img.nodeCanvasType 偶尔为undefined

分类:uni-app
        uni.createSelectorQuery().select('#selected_img')  
            .fields({  
                context: true,  
                size: true,  
                node: true  
            }, (selected_img) => {  
                console.log(selected_img)  
                // 微信小程序中canvas的type设为2d走这里  
                if (selected_img.nodeCanvasType === '2d') {  
                    const canvas = selected_img.node;  
                    if (canvas) {  
                        const context = canvas.getContext('2d');  
                        const image = canvas.createImage();  
                        canvas.width = selected_img.width;  
                        canvas.height = selected_img.height;  
                        image.onload = () => {  
                            context.drawImage(image, 0, 0, 216.65, 433.3);  
                            resolve();  
                        };  
                        // 再将图片填充到画布  
                        let pattern = context.createPattern(image, 'no-repeat')  
                        // context.fillStyle=pattern;  
                        image.src = selectedImgUrl.value;  
                    }  
                } else {  
                    const context = selected_img.context;  
                    uni.createCanvasContext(context.id || context.canvasId);  
                    context.drawImage(selectedImgUrl.value, 0, 0, 216.65, 433.3);  
                    // 再将图片填充到画布  
                    // let pattern = context.createPattern(image, 'no-repeat')  
                    // context.fillStyle = pattern;  
                    context.draw(false, () => {  
                        resolve();  
                    });  
                }  
            })  
            .exec();
2025-03-07 15:16 负责人:无 分享
已邀请:

要回复问题请先登录注册