Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何显示用JavaScript创建的画布?_Javascript_Jquery_Ajax_Html_Canvas - Fatal编程技术网

如何显示用JavaScript创建的画布?

如何显示用JavaScript创建的画布?,javascript,jquery,ajax,html,canvas,Javascript,Jquery,Ajax,Html,Canvas,我想根据一个简单的jQuery post请求动态显示一个图像。但是,post请求工作正常,但画布不会显示 我试过这样做: $.ajax({type: 'POST', url: 'http://....'}).done(function (data) { // data is beeing recieved correctly, it is not empty var imageBase64 = 'data:image/png;base64,' + data

我想根据一个简单的jQuery post请求动态显示一个图像。但是,post请求工作正常,但画布不会显示

我试过这样做:

$.ajax({type: 'POST',
    url: 'http://....'}).done(function (data) {
        // data is beeing recieved correctly, it is not empty
        var imageBase64 = 'data:image/png;base64,' + data;
        var canvas = document.createElement("canvas"),
            ctx2d = canvas.getContext("2d"),
            size = 64, c = size / 2 - 0.5,
            innerRadius = 5,
            outerRadius = 20;

        canvas.width = size;
        canvas.height = size;
        var image = new Image();
        image.src = imageBase64;
        ctx2d.drawImage(image, 0, 0);      
    });
});

我错过什么了吗?如何显示新创建的画布?

您的代码似乎是正确的,但您只遗漏了将创建的文档元素
画布
附加到任何DOM元素上。请试试这个:

$.ajax({type: 'POST',
    url: 'http://....'}).done(function (data) {
        var imageBase64 = 'data:image/png;base64,' + data;
        var canvas = document.createElement("canvas"),
            ctx2d = canvas.getContext("2d"),
            size = 64, c = size / 2 - 0.5,
            innerRadius = 5,
            outerRadius = 20;

        canvas.width = size;
        canvas.height = size;
        var image = new Image();
        image.src = imageBase64;
        ctx2d.drawImage(image, 0, 0); 
        // Append your created canvas for example to the body of your DOM
        document.querySelector('body').appendChild(canvas);       
    });
});

您必须将创建的文档元素
canvas
附加到任何位置。