Skip to content

Error: Image given has not completed loading #959

Closed
@kricha

Description

@kricha

I'm trying to add remove image to canvas, but there is some troubles.

i'm getting this:

        ctx.drawImage(avatar, 50, 50 );
            ^

Error: Image given has not completed loading
    at Request.request.get

I want to do this on server side (using express):

app.get('/test', (req, res) => {
    let Canvas = require('canvas')
        , Image = Canvas.Image
        , canvas = new Canvas(500, 500)
        , ctx = canvas.getContext('2d');

    let request = require('request');
    let avatar = new Image;
    request.get('http://s.4pda.to/pKugVJ7TmgG1Tg5z0SsVLfRCUqTAz2oqz1lz2z2co.jpg', (err, res) => {
        avatar.src = res;
        ctx.drawImage(avatar, 50, 50 );
    });

    ctx.font = '30px Impact';
    ctx.rotate(.1);
    ctx.fillText("Awesome!", 50, 100);
    let te = ctx.measureText('Awesome!');
    ctx.strokeStyle = 'rgba(0,0,0,0.5)';
    ctx.beginPath();
    
    ctx.stroke();
    
    res.setHeader('Content-Type', 'image/png');
    canvas.pngStream().pipe(res)
});
// etc.

Your Environment

  • Version of node-canvas (e.g. 1.6.6):
  • Environment (e.g. node 8.3.0 on Mac OS X 10.12.6):

I have already tried to reinstall, rebuilt and do all from manual.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions