简体   繁体   English

使用canvas.toDataURL()与npm react-native-canvas最新版本反应时出错

[英]Error in using canvas.toDataURL() in react- native with npm react-native-canvas latest

    const image = new CanvasImage(canvas);
    canvas.width = 100;
    canvas.height = 100;
    const context = canvas.getContext('2d');
    image.src = 'http://i.imgur.com/c2wRzfD.jpg';
    image.addEventListener('load', async () => {
        context.drawImage(image, 0, 0, 100, 100);
        let dataURL = await canvas.toDataURL("image/png")
    });

This code gives me error like: 这段代码给我的错误如下:

"Cannot read property 'constructor' of undefined" “无法读取未定义的属性'构造函数'

This comes only when I drawImage() on canvas it works properly when I draw rectangle, round etc. 这只有当我在画布上绘制drawImage() ,它才能在绘制矩形,圆形等时正常工作。

Android Studio is 3.0.1 Android Studio是3.0.1

node -v is stabble 节点-v是稳定的

The problem is with this cod inside the listener 问题在于听众内部的鳕鱼

let dataURL = await canvas.toDataURL("image/png")

It seems to break your constructor definition to the drawImage 它似乎将构造函数定义分解为drawImage

This can be solved by using it as follows 这可以通过如下使用来解决

 handleImageRect = async (canvas) => {
        const image = new CanvasImage(canvas);
        canvas.width = 100;
        canvas.height = 100;

        const context = canvas.getContext('2d');

        image.src = 'https://image.freepik.com/free-vector/unicorn-background-design_1324-79.jpg';
        image.addEventListener('load', () => {
            console.log('image is loaded');
            context.drawImage(image, 0, 0, 100, 100);

        });
        // Move it outside
        let dataURL =  await canvas.toDataURL("image/png")
        console.log(dataURL)
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM