HTML5 Canvas来绘制图形

一、Canvas标签:

1、html5元素用于图形的绘制,通过脚本(通常是javascript)来完成。

2、标签只是图形容器,必须使用脚本来绘制图形。

3、可以通过多种方法通过Canvas绘制路径、盒、圆、字符以及添加图像。

二、Canvas绘制图形

1、绘制矩形

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形


登录后复制

2、绘制圆形 

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

立即学习“前端免费学习笔记(深入)”;

 3、moveTo和lineTo

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

4、使用bezierCurveTo绘制贝塞尔曲线

HTML5  Canvas来绘制图形

 HTML5  Canvas来绘制图形

5、绘制线性渐变

 HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

 

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

 6、绘制径向渐变

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

7、绘制变形图形

HTML5  Canvas来绘制图形HTML5  Canvas来绘制图形

8、绘制图形合成gloablCompositeOperation属性

使用不同的 globalCompositeOperation 值绘制矩形。橙色矩形是目标图像。粉色矩形是源图像。

定义和用法

globalCompositeOperation属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上。

 源图像 = 您打算放置到画布上的绘图。

 目标图像 = 您已经放置在画布上的绘图。

属性值:

 

值属性source-atop
在先绘制的图形顶部显示后绘制的图形。后绘制的图形位于先绘制的图形之外的部分是不可见的。source-in只绘制相交部分,由后绘制图形的填充覆盖,其余部分透明。source-out只绘制后绘制图形不相交的部分,由后绘制图形的填充覆盖,其余部分透明。source-over在先绘制的图形上显示后绘制的图形。相交部分由后绘制的图形填充(颜色,渐变,纹理)覆盖destination-atop在后绘制的图形顶部显示先绘制的图形。源图像之外的目标图像部分不会被显示。destination-in在后绘制的图形中显示先绘制的图形。只绘制相交部分,由先绘制图形的填充覆盖,其余部分透明destination-out只有后绘制的图形外的目标图像部分会被显示,源图像是透明的。destination-over 相交部分由先绘制图形的填充(颜色,渐变,纹理)覆盖.lighter相交部分由根据先后图形填充来增加亮度。copy
显示后绘制的图形。只绘制后绘制图形。xor相交部分透明

HTML5  Canvas来绘制图形

以上效果图的代码如下:

nbsp;html>                        $(function(){            var options = new Array(                    "source-atop",                    "source-in",                    "source-out",                    "source-over",                    "destination-atop",                    "destination-in",                    "destination-out",                    "destination-over",                    "lighter",                    "copy",                    "xor"            );            var str="";            for(var i=0;i<options.length;i++){                 str = "
"+options[i]+"<br/> "; $("body").append(str); var cas = document.getElementById('canvas'+i); var ctx = cas.getContext('2d'); ctx.fillStyle = "orange"; ctx.fillRect(10,10,50,50); ctx.globalCompositeOperation = options[i]; ctx.beginPath(); ctx.fillStyle = "pink"; ctx.arc(50,50,30,0,2*Math.PI); ctx.fill(); } })

登录后复制

图形合成

 9、给图形绘制阴影

HTML5  Canvas来绘制图形

代码如下:

nbsp;html>        canvas基础api            canvas{            border:1px solid #ccc;            margin:50px;        }                    $(function(){            //获取标签            var cas = document.getElementById('canvas');            //获取绘制环境            var ctx = cas.getContext('2d');            ctx.fillStyle ="#eef";            ctx.fillRect(0,0,300,300);            ctx.shadowOffsetX = 10;            ctx.shadowOffsetY = 10;            ctx.shadowColor = "rgba(100,100,100,0.5)";            ctx.shadowBlur = 7;            for(var j=0;j<3;j++){                ctx.translate(80,80);                create5star(ctx);                ctx.fill();            }            function create5star(ctx){                var dx =0;                var dy=0;                var s=50;                ctx.beginPath();                ctx.fillStyle ='rgba(255,0,0,0.5)';                var x =Math.sin(0);                var y =Math.cos(0);                var dig = Math.PI/5*4;                for(var i=0;i<5;i++){                    x=Math.sin(i*dig);                    y=Math.cos(i*dig);                    ctx.lineTo(dx+x*s,dy+y*s)                }                ctx.closePath();                ctx.fill();            }        })        您的浏览器不支持canvas

登录后复制

五角星阴影

 10、canvas使用图像

语法:ctx.drawImage(imgobj,left,top,width,height)

 HTML5  Canvas来绘制图形

nbsp;html>        canvas基础api            canvas{            border:1px solid #ccc;        }                    $(function(){            //获取标签            var cas = document.getElementById('canvas');            //获取绘制环境            var ctx = cas.getContext('2d');            //导入图片            var img = new Image();            img.src="../images/002.png";            //图片加载完之后,再开始绘制图片            img.onload = function(){                //绘制图片ctx.drawImage(imgobj,left,top,width,height)                ctx.drawImage(img,100,50,300,200)            }        })        您的浏览器不支持canvas

登录后复制

以上就是HTML5 Canvas来绘制图形的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2910028.html

(0)
上一篇 2025年3月11日 04:28:04
下一篇 2025年3月11日 04:28:20

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • html5动画中关于等待加载动画的实例分享

    html5动画中关于等待加载动画的实例分享          100 登录后复制 *{margin:0;padding:0;}    .loading{          height:100%;width:100%;position:fi…

    2025年3月11日
    100
  • HTML5基础之SVG教程

    一.什么是svg? SVG 指的是可伸缩矢量图形 (Scalable Vector Graphics),它用来定义用于网络的基于矢量的图形,使用 XML 格式定义图形。SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。此外SVG …

    2025年3月11日 编程技术
    200
  • 如何利用HTML5实现等待加载动画的效果

    详细代码如下所示:      100 登录后复制   *{margin:0;padding:0;}    .loading{          height:100%;width:100%;position:fixed;background…

    2025年3月11日
    200
  • 利用html5自定义实现播放器代码分享

    本篇文章主要介绍了从零实现一个自定义html5播放器的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 本次的分享是一个基于HTML5标签实现的一个自定义视频播放器。其中实现了播放暂停、进度拖拽、音量控制…

    2025年3月11日
    200
  • HTML5实现眼睛移动效果的示例

    这篇文章主要介绍了基于html5陀螺仪实现ofo首页眼睛移动效果的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近用ofo小黄车App的时候,发现以前下方扫一扫变成了一个眼睛动的小黄人,觉得蛮有意思的,这里用HTML5仿一下效果…

    2025年3月11日 编程技术
    200
  • html5碎片式图片切换制作方法详解

    本篇文章主要介绍了html5教你做炫酷的碎片式图片切换 (canvas) ,具有一定参考价值,有兴趣的可以了解一下 前言 老规矩,先上源码。图片区域是可以点击的,动画会从点击的位置开始发生。 本来这个效果是我3年前做的,只是当是是用无数个 …

    2025年3月11日 编程技术
    200
  • HTML5制作贪吃蛇游戏

    本篇文章主要介绍了h5 canvas实现贪吃蛇小游戏,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 本文介绍了H5 canvas实现贪吃蛇小游戏,分享给大家,具体如下: 实现效果如下 实现思路: ps:这个只是…

    2025年3月11日
    200
  • HTML5加载时的等待动画效果制作

    这篇文章通过实例代码给大家介绍了html5等待加载动画效果的完美解决方案,感兴趣的朋友参考下吧 废话不多说了,直接给大家贴代码了,具体代码如下所示:      100 登录后复制   *{margin:0;padding:0;}    .l…

    2025年3月11日
    200
  • HTML5 IndexedDB本地储存

    indexeddb 是一种低级api,用于客户端存储大量结构化数据(包括, 文件/ blobs)。下面通过本文重点给大家介绍html5本地存储之indexeddb的相关知识,感兴趣的朋友一起看看吧 IndexedDB 是一种低级API,用于…

    编程技术 2025年3月11日
    200
  • HTML5通过api实现拖放排序的实例教程

    html5 中提供了直接拖放的 api,极大的方便我们实现拖放效果,不需要去写一大堆的 js,只需要通过监听元素的拖放事件就能实现各种拖放功能。 前言 html5 中提供了直接拖放的 api,极大的方便我们实现拖放效果,不需要去写一大堆的 …

    编程技术 2025年3月11日
    200

发表回复

登录后才能评论