• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5 Canvas API中drawImage()方法的使用实例

HTML5 Canvas API中drawImage()方法的使用实例

作者:Airing 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含HTML5,Canvas,drawImage()等相关知识,Airing 希望在学习及工作中可以帮助到您

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

一共有三种表现形式:

语法 1

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

语法 2

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

语法 3

  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 要使用的图像的高度。(伸展或缩小图像)

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

  1. <!DOCTYPE html>   
  2. <html lang="zh">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>drawImage()</title>   
  6.     <style>   
  7.         body { background: url("./images/bg3.jpg") repeat; }  
  8.         #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
  9.     </style>   
  10. </head>   
  11. <body>   
  12. <div id="canvas-warp">   
  13.     <canvas id="canvas">   
  14.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  15.     </canvas>   
  16. </div>   
  17.   
  18. <script>   
  19.     window.onload = function(){   
  20.         var canvas = document.getElementById("canvas");   
  21.         canvas.width = 800;   
  22.         canvas.height = 600;   
  23.         var context = canvas.getContext("2d");   
  24.         context.fillStyle = "#FFF";   
  25.         context.fillRect(0,0,800,600);   
  26.   
  27.         var img = new Image();   
  28.         img.src = "./images/20-1.jpg";   
  29.         img.onload = function(){   
  30.             context.drawImage(img,200,50);   
  31.         }   
  32.     };   
  33. </script>   
  34. </body>   
  35. </html>  

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

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

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03html5大文件上传技术分享
  • 2018-12-03AlloyTouch全屏滚动插件 30秒搞定顺滑H5页
  • 2018-12-03H5做视频直播
  • 2018-12-03canvas如何来绘制一个椭圆形?canvas画椭圆的方法总结
  • 2018-12-03如何解决IOS中html5上传图片方向问题?
  • 2018-12-03移动端HTML5音频与视频遇到的问题及解决方案
  • 2018-12-03HTML5调用手机摄像头拍照的实现思路及代码_html5教程技巧
  • 2018-12-03HTML5标准完工意味着什么?
  • 2018-12-03H5手机扫码怎么实现
  • 2017-08-06HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html5 音频播放图文实例
    • WebSocket 是什么原理?为什么可以实现持久连接?
    • HTML5每日一练之Canvas标签的应用-矩阵变换
    • HTML5:web socket 和 web worker
    • 详细分析H5微信播放全屏问题的示例代码
    • HTML最新标准HTML5总结
    • 响应式网页设计9个要点
    • 使用HTML5 Canvas API中的clip()方法裁剪区域图像_html5教程技巧
    • HTML5新增属性
    • Html5 audio标签样式的修改

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有