H5 Canvas API中drawImage(图像进行缩放或裁剪)的使用实例


本文摘自PHP中文网,作者巴扎黑,侵删。

这篇文章主要介绍了HTML5 Canvas API中drawImage()方法的使用实例,drawImage()方法主要用来对图像进行缩放或裁剪,文中给出了其坐标及相关参数的用法,需要的朋友可以参考下

drawImage()是一个很关键的方法,它可以引入图像、画布、视频,并对其进行缩放或裁剪。

一共有三种表现形式:

语法 1

JavaScript Code复制内容到剪贴板

  1. context.drawImage(img,dx,dy);

语法 2

JavaScript Code复制内容到剪贴板

  1. context.drawImage(img,dx,dy,dw,dw);

语法 3

JavaScript Code复制内容到剪贴板

  1. context.drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh);

来看一下坐标草图:
2016325103525710.png (360×360)

PS: 不要在样式中定义<canvas> 的宽和高,否则,里面所画的图片会自动放大或者缩小。
三参数的是标准形式,可用于加载图像、画布或视频;五参数的除了可以加载图像还可以对图像进行指定宽高的缩放;九参数的除了缩放,还可以裁剪。各参数意义见下表。

参数描述
img
sx可选。开始剪切的 x 坐标位置。
sy可选。开始剪切的 y 坐标位置。
swidth可选。被剪切图像的宽度。
sheight可选。被剪切图像的高度。
x在画布上放置图像的 x 坐标位置。
y在画布上放置图像的 y 坐标位置。
width可选。要使用的图像的宽度。(伸展或缩小图像)
height要使用的图像的高度。(伸展或缩小图像)

下面,我们加载一个图片试试。

JavaScript Code复制内容到剪贴板

  1. 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    <!DOCTYPE html>  

    <html lang="zh">  

    <head>  

        <meta charset="UTF-8">  

        <title>drawImage()</title>  

        <style>  

            body { background: url("./images/bg3.jpg") repeat; }

            #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }  

        </style>  

    </head>  

    <body>  

    <p id="canvas-warp">  

        <canvas id="canvas">  

            你的浏览器居然不支持Canvas?!赶快换一个吧!!  

        </canvas>  

    </p>  

       

    <script>  

        window.onload = function(){  

            var canvas = document.getElementById("canvas");  

            canvas.width = 800;  

            canvas.height = 600;  

            var context = canvas.getContext("2d");  

            context.fillStyle = "#FFF";  

            context.fillRect(0,0,800,600);  

       

            var img = new Image();  

            img.src = "./images/20-1.jpg";  

            img.onload = function(){  

                context.drawImage(img,200,50);  

            }  

        };  

    </script>  

    </body>  

    </html>

运行结果:
2016325103645161.jpg (850×500)

阅读剩余部分

相关阅读 >>

HTML5表单元素实例讲解

震惊!HTML5区块链游戏联盟成立,设立10亿级发展基金!

HTML5 input 类型的详细介绍以及实例代码

HTML5用什么工具开发

自定义HTML5 progress的样式的图文代码详解

怎样用canvas来绘制彩色七巧板

HTML5的开发工具有哪些

HTML5规定元素是否可拖动的属性draggable

关于HTML5中图片抛物线运动技巧分享

快速开发基于HTML5网络拓扑图应用的详解(图文)

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...