小编Sus*_*ade的帖子

Canvas drawimage() 绘制缩放图像

我的显示器分辨率为 1920 * 1080。

我正在我的电脑上尝试这个非常基本的画布drawimage()代码。

<!DOCTYPE html>
<html>
    <body>

        <p>Image to use:</p>

        <img id="scream" width="220" height="277" 
        src="test.jpg" alt="The Scream">

        <p>Canvas:</p>

        <canvas id="myCanvas" width="240" height="297"
        style="border:1px solid #d3d3d3;">
           Your browser does not support the HTML5 canvas tag.
        </canvas>

        <script>
            window.onload = function() {
                var canvas = document.getElementById("myCanvas");
                var ctx = canvas.getContext("2d");
                var img = document.getElementById("scream");
                ctx.drawImage(img, 10, 10);
           };
        </script>

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以我得到这样的输出: 在此输入图像描述

实际上输出应该与原始图像相同,但事实并非如此。

在浏览了 stackoverflow 和http://developer.mozilla.org上的类似问题后,我明白它与高度和宽度有关。

如何针对任何屏幕尺寸或设备正确使用drawimage()?

编辑:测试图像尺寸为3024 * 4032

我正在尝试使用以下插件实现裁剪和保存功能: http: //odyniec.net/projects/imgareaselect/

因此,无论从那里返回什么高度和宽度坐标,我都会从原始图像中裁剪该图像并在画布上绘制。

因此,裁剪后的图像必须具有实际分辨率,但显示在较小的预览容器中。

html javascript canvas

1
推荐指数
1
解决办法
6148
查看次数

标签 统计

canvas ×1

html ×1

javascript ×1