您现在的位置是:网站首页> 编程资料编程资料

HTML5 Canvas API中drawImage()方法的使用实例_html5_网页制作_

2023-11-11 318人已围观

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

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

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

JavaScript Code复制内容到剪贴板
  1.   
  2. "zh">   
  3.   
  4.     "UTF-8">   
  5.     drawImage()   
  6.        
  7.   
  8.   
  9. "canvas-warp">   
  10.     "canvas">   
  11.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  12.        
  
  •   
  •   
  •   
  •   
  • 运行结果:
    2016325103645161.jpg (850×500)

    创建相框:
    这里,我们结合clip()和drawImage()以及三次贝塞尔曲线bezierCurveTo(),来为上面一个案例,加上一个心形的相框~

    JavaScript Code复制内容到剪贴板
    1.   
    2. "zh">   
    3.   
    4.     "UTF-8">   
    5.     绘制心形相框   
    6.        
    7.   
    8.   
    9. "canvas-warp">   
    10.     "canvas">   
    11.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    12.        
      
  •