最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Put Image Into HTML Canvas (Fit Width and Height) - Stack Overflow

programmeradmin0浏览0评论

I have this HTML code :

<div>
    <canvas id="canvas">
    </canvas>
    <img id="canvasimg" src="{{ $photo }}" style="display:none;"/>
</div>

and I have this javascript to draw an image into that HTML Canvas :

<script>
    var canvas = document.getElementById('canvas');
    ctx = canvas.getContext('2d');

    var deviceWidth = window.innerWidth;;

    canvasWidth = deviceWidth - 40;
    canvasHeight = deviceWidth - 40;

    canvas.width = canvasWidth;
    canvas.height = canvasHeight;

    var img = document.getElementById('canvasimg');

    imgx = 0;
    imgy = 0;

    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.drawImage(img, imgx, imgy); 
</script>

the problem is when I load this page into wide screen, it also produce a wider canvas. while the image has fix width and height.

how to stratch that image so that it will fill the canvas perfectly?

I have this HTML code :

<div>
    <canvas id="canvas">
    </canvas>
    <img id="canvasimg" src="{{ $photo }}" style="display:none;"/>
</div>

and I have this javascript to draw an image into that HTML Canvas :

<script>
    var canvas = document.getElementById('canvas');
    ctx = canvas.getContext('2d');

    var deviceWidth = window.innerWidth;;

    canvasWidth = deviceWidth - 40;
    canvasHeight = deviceWidth - 40;

    canvas.width = canvasWidth;
    canvas.height = canvasHeight;

    var img = document.getElementById('canvasimg');

    imgx = 0;
    imgy = 0;

    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.drawImage(img, imgx, imgy); 
</script>

the problem is when I load this page into wide screen, it also produce a wider canvas. while the image has fix width and height.

how to stratch that image so that it will fill the canvas perfectly?

Share Improve this question asked Aug 14, 2015 at 15:52 Saint RobsonSaint Robson 5,52518 gold badges74 silver badges121 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

Use the dWidth and dHeight arguments for the drawImage function (MDN).

ctx.drawImage(img, imgx, imgy, canvas.width, canvas.height);
发布评论

评论列表(0)

  1. 暂无评论