HTML5 Canvas 画布

在使用  canvas 元素的时候,需要调用 getContext() 方法,目的是得到画布的绘图上下文。通过这个阴影,就可以使用其他的 API 进行绘图操作。

语法

2d :平面的    ,主要讲解2d。

案例代码

绘制矩形


准备好 canvas 之后,就可以创建绘制图形了。

canvas API 提供了多种工具,包括创建图形、颜色、图像、文本等。

canvas API 中的一些方法支持直接在画布上绘制图形。

绘制矩形的方法

-   fillRect( x , y , width , height )

-   strokeRect( x , y , width , height )

-   clearRect( x , y , width , height )

*  fillRect( x , y , width , height )

  • 绘制实心矩形。

  • x ,y  指的是矩形左上角的位置。

  • width,height 表明其尺寸大小。

*  strokeRect( x , y , width , height )

-  绘制空心矩形。

*   clearRect( x , y , width , height )

- 清除属性所指定的区域的像素,类似于擦除器。

案例代码

案例:在画布上扣出小矩形

x:

y:


w:

h:


dig

绘制颜色


在创建图形时如果不设定颜色,所有的图形都会使用默认颜色 - 纯黑色。

可以通过以下属性指定绘图颜色:

真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】

strokeStyle :声明形状线条的颜色。

fillStyle:声明形状内部区域颜色。

globalAlpha:透明度属性,可以设置画布上图形的透明度。

案例代码

练习:

- 绘制不同位置、不同颜色的矩形。

- 移动矩形




渐变

canvas 支持的渐变效果包括线性渐变和射线渐变。

canvas 渐变支持设置颜色的转折点。

语法

- createLinearGradient ( x1, y1, x2, y2 ) :创建线性渐变

- createRadialGradient ( x1, y1, r1, x2, y2, r2 ) :创建射线渐变

- createColorStop ( position,color ) :指定渐变颜色

渐变 - 线性渐变

案例代码:

渐变 - 径向渐变 (射线渐变)

案例代码

绘制文字


在画布上写文字非常简单,只需要定义一些属性和方法即可。

属性:

font :与 css 和 font 的属性类似,接受值也完全相同。

textAlign :文本对齐方式,值可以是 left、right 和 center。

textBaseline:文本基线,值可以是 top(顶部对齐)、hanging(基线对齐)、middle(中部对其)、alphabetic(默认对其方式) 和 bottom(底部对齐)。

方法:

strokeText(text,x,y):在位置(x,y)处绘制指定的文字轮廓。

fillText(text,x,y ):与上一个方法相似,区别是该方法绘制的是实心的文字。

measureText():返回指定文字大小信息。

案例代码

绘制阴影


阴影也是 canvas API 的重要组成部分。

每一条路径和文字都可以创建阴影效果。

API 提供了4个实现阴影的属性:

shadowColor:阴影的颜色。

shadowOffsetX:确定阴影的水平投射距离。

shadowOffsetY:确定阴影的垂直投射距离。

shadowBlur:模糊效果。

注: rgba(0,0,0,0.5) // 最后的0.5表示半透明,透明度为0.5。shadowBlur 为羽化程度即模糊度,值越高,羽化程度越高。

案例代码

Canvas 绘制路径


针对一些复杂图形的绘制,需要通过路径进行描绘。

路径是画笔移动的地图,路径建立后,将其发送给上下文,就可以绘制图形。

Canvas 绘制路径 - 常用方法

beginPath()

  • 开始一个新的形状描。穿件路径前必须先调用该方法。

closePath()

- 关闭路径,用直线将最后一个点与远点相连,如果想要保留开放路径,则不需要调用该方法。

stroke()

- 将路径绘制为轮廓形状。

fill()

- 将路径绘制为实心形状,使用该方法是可以不用 closePath 关闭路径。该方法会通过直线连接最后一个点与第一个点实现封闭。

clip()

  • 在上下文中设置剪裁区域。

moveTo( x, y )

-  将笔触移动到指定位置。

lineTo( x, y )

- 绘制一条直线,连接当前笔触位置到指定位置。

rect( x, y, width, height )

  • 生成一个矩形路径。

arc( x, y, radius, startAngle, endAngle, direction )

- 在指定位置上生成弧线或圆线,半径和弧度由属性指定。

  • direction 是布尔类型,表示顺时针或逆时针。

案例:

画一个 V 字形线条

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HTML5 Canvas是一种用于绘制图形的Web API,可以用它来绘制各种形状、线条、文本和图像等。要绘制一个logo,可以先设计好logo的样式和颜色,然后使用Canvas API来实现。具体步骤包括:创建Canvas元素,设置Canvas的宽度和高度,获取Canvas的上下文对象,使用上下文对象绘制各种形状和文本,最后将Canvas元素插入到HTML页面中即可。绘制logo需要一定的设计和技术能力,需要不断尝试和调整才能得到满意的效果。 ### 回答2: Html5 Canvas是一项很有意思的技术,通过调用canvas的API来进行拉近、缩小、旋转、平移、变形等各种绘图效果的创作操作。在本次绘制Logo的任务中,我们需要通过这种技术来完成一个漂亮的Logo,下面就以一个实际绘制的案例来详解一下。 首先,我们可以在html中创建一个canvas标签,显示一个画布。“canvas”是HTML5中新加入的标签,用于绘制2D或3D图形,只需要在标签中定义画布的大小和高度等属性,就可以在上面自由的绘制。 接下来我们需要引用一些javascript库,比如jQuery、Snap.svg等。这些库可以简化我们的开发流程,并且提供了一些强大的绘图工具。 在绘制方面,我们需要将画布分为三个部分:中央部分、左侧部分和右侧部分。首先,在中央部分,我们需要绘制一个圆形,通过canvas提供的api,使用arc函数来绘制圆形,可以根据需要设置圆形的大小、颜色和边框等属性。接下来是左侧部分和右侧部分,我们需要绘制一些简单的线条和多边形图形,可以使用css或SVG实现。 最后,我们需要将这些位置合并在一起,达到最终的效果。通过CSS调整位置和字体,添加一些特殊的过渡效果和动画效果,实现一个独具风格的Logo设计。 绘制Logo时需要注意的是,在设计中,最好保留一定的空间留给用户进行绘图,比如将背景色设为白色或浅色。同时,也要考虑不同设备的屏幕分辨率和绘图的效果,确保Logo在不同设备上的显示效果都一致。此外,我们还可以增加一些特效,比如模糊、阴影、渐变和光影等,来营造出更加绚丽的视觉效果。 综上所述,html5 canvas绘图是一项多方面都需要考虑的技术,需要在技术、设计和用户体验等方面多方面的关注。只有在各个方面都考虑到位,才能达到最佳的绘图效果和用户体验。 ### 回答3: HTML5Canvas画布让网页设计者可以绘制出非常酷炫的图形,它提供了许多绘制路径、多种颜色和文本等功能。在Canvas中,最常见的是用来绘制各种形状的路径。除此之外,还可以使用图像和聚光灯效果创建各种动画效果,甚至可以在Canvas上面添加音频和视频元素。 绘制logo可以说是Canvas的重头戏,在这里,我们简单介绍几个Canvas绘制logo的方法。 一、使用图像绘制 如果你已经有了一个已经设计好的logo图像,你可以在Canvas上绘制这个图像。这是相对简单的方法,只需调用Canvas的drawImage()方法即可实现,在绘制成功后,可以对这个Canvas绘制的图像进行一些变换。 二、使用路径和填充绘制 如果你需要绘制一个比较复杂的图形,最好的选择就是使用路径和填充绘制。Canvas提供了一系列的绘制路径方法,可以绘制各种形状。通过路径和填充,你可以创建出一个虚实交错的图形,给人留下深刻的印象。 三、使用动画绘制 如果你想让你的Logo充满动态感,就可以使用Canvas的动画API,通过逐帧更新Canvas,使图形产生连续的动画效果。这个方法可以让你的Logo动感十足,让观众很难动过目不忘。 总结:在HTML5 Canvas画布上绘制Logo图案可以使用图像绘制、路径填充绘制和动画绘制这三种方式。如果你足够熟练的话,可以使用这三种方式组合起来,打造一款炫酷的Logo。无论是什么方法,实现漂亮的Logo都需要你有耐心和创造性,只有不断尝试,加强练习,才能创造出让人印象深刻的Logo。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值