canvas中getContext(“2d“) 对象的属性和方法

HTML5中canvas标签用于绘制图像(通过脚本,通常是Js)。

也就是说,canvas元素本身没有绘制能力仅仅是图形容 - 您必须使用脚本来完成实际的绘图任务。

getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

以下是getContext("2d") 对象的属性和方法:

一、颜色、样式和阴影

属性描述
fillStyle设置或返回用于填充绘画的颜色、渐变或模式。默认:#000000;color,gradient,pattern
strokeStyle设置或返回用于笔触的颜色、渐变或模式 。同fillStyle
shadowColor设置或返回用于阴影的颜色,必须shadowBlur一起默认:#000000;color
shadowBlur设置或返回用于阴影的模糊级别。 必须shadowColor一起默认:0;number
shadowOffsetX设置或返回阴影与形状的水平距离。默认:0,number正负值
shadowOffsetY设置或返回阴影与形状的垂直距离。默认:0,number正负值
方法描述
createLinearGradient()创建线性渐变(用在画布内容上)。参数(x1,y1,x2,y2)
createPattern()在指定的方向上重复指定的元素。(image,"repeat|repeat-x|repeat-y|no-repeat");
createRadialGradient()创建放射状/环形的渐变(用在画布内容上) 参数(x1,y1,r1,x2,y2,r2)
addColorStop()规定渐变对象中的颜色和停止位置。stop:在0.0-1.0之间(stop, color)

二、线条样式

属性描述
lineCap 设置或返回线条的结束端点样式

默认:butt:末端平直

round:圆形线帽

square:正方形线帽

lineJoin 设置或返回两条线相交时,所创建的拐角类型。

默认:bevel:斜角

round:圆角
miter:尖角

lineWidth 设置或返回当前的线条宽度。number:一以像素计
miterLimit 设置或返回最大斜接长度。 存在lineJoin为miter才有意义number:正数

 解释斜接长度:

三、矩形

方法描述参数
rect() 创建矩形。(x,y,width,height)
fillRect()绘制"被填充"的矩形。默认填充色为黑色,使用fillStyle修改填充色(x,y,width,height)
strokeRect() 绘制矩形(无填充)。 默认笔触色为黑色,使用strokeStyle修改填充色(x,y,width,height)
clearRect()在给定的矩形内清除指定的像素(x,y,width,height)

四、路径

方法描述参数
fill() 填充当前绘图(路径) ,填充颜色和fillStyle搭配使用
stroke() 绘制已定义的路径。(执行)
beginPath() 起始一条路径,或重置当前路径。 
moveTo() 把路径移动到画布中的指定点,不创建线条。(x,y)开始坐标
closePath() 创建从当前点回到起始点的路径。
lineTo() 添加一个新点,然后在画布中创建从该点到最后指定点的线条。(x,y)结束坐标
clip() 从原始画布剪切任意形状和尺寸的区域。 
quadraticCurveTo() 创建二次贝塞尔曲线。

cpx:贝塞尔控制点的x坐标

cpy:贝塞尔控制点的y坐标

x,y:结束的x,和y坐标

bezierCurveTo()创建三次贝塞尔曲线。 

(cpx1,cpy1,cpx2,cpy2,x,y)

arc()创建弧/曲线(用于创建圆形或部分圆)。

x,y圆心的坐标

r圆半径

sAngle:起始角

eAngle:结束角

counterclockwise:可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。

arcTo()创建两切线之间的弧/曲线。

x1,y1:第一条两切线交点的横纵坐标。

x2,y2:第二条两切线交点的横纵坐标。

r:弧半径

isPointInPath()如果指定的点位于当前路径中,则返回 true,否则返回 false。x,y测试坐标

解释二次和三次贝塞尔曲线控制点坐标:

 圆参数介绍:

 

五、转换

方法描述参数
scale() 缩放当前绘图至更大或更小。定位也会被缩放scaleWidth,scaleHeight:缩放的宽高
rotate() 旋转当前绘图angle:以弧度计degrees*Math.PI/180
translate()重新映射画布上的 (0,0) 位置。x,y:横纵坐标
transform() 替换绘图的当前转换矩阵。

a:水平缩放绘图

b: 水平倾斜绘图

c:垂直倾斜绘图

d:垂直缩放绘图

e:水平移动绘图

f:垂直移动绘图

setTransform()将当前转换重置为单位矩阵。然后运行 transform()。同上

六、文本

属性描述
font 设置或返回文本内容的当前字体属性

默认值:10px sans-serif

font属性值详细参数见

HTML canvas font 属性 | 菜鸟教程

textAlign设置或返回文本内容的当前对齐方式。start,end,center,left,right
textBaseline 设置或返回在绘制文本时使用的当前文本基线。alphabetic,top,hanging,middle,ideographic,bottom
方法描述参数
fillText() 在画布上绘制"被填充的"文本。

text:绘制文本

x,y:位置横纵坐标

maxWidth:可选,最大文本宽度

strokeText() 在画布上绘制文本(无填充)。同上
measureText() 返回包含指定文本宽度的对象。txt

七、绘制图像

方法描述参数
drawImage() 向画布上绘制图像、画布或视频。

(img,x,y);详情参数见

HTML canvas drawImage() 方法 | 菜鸟教程

八、像素操作

属性描述
width返回 ImageData 对象的宽度。 
height返回 ImageData 对象的高度。
data返回一个对象,其包含指定的 ImageData 对象的图像数据。
方法描述参数
createImageData()创建新的、空白的 ImageData 对象。

width:宽度

height:高度

imageData:另一个imageData对象

getImageData()返回 ImageData 对象,该对象为画布上指定的矩形复制像素数据。

x,y:开始复制的左上角位置的 x ,y坐标(以像素计)。

width,height:复制矩形区域的宽高

putImageData()把图像数据(从指定的 ImageData 对象)放回画布上。

(imgData,x,y)参数详情见

HTML canvas putImageData() 方法 | 菜鸟教程

九、合成

属性描述
globalAlpha设置或返回绘图的当前 alpha 或透明值。number:0.0-1.0
globalCompositeOperation 设置或返回新图像如何绘制到已有的图像上。默认:source_over使用详情见HTML canvas globalCompositeOperation 属性 | 菜鸟教程

10、其他

 以上属于学习笔记,也就是在学习的过程中把东西敲下来加深印象,具体内容请看下面链接HTML 画布 | 菜鸟教程

  • 32
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: canvas.getContext("2d")是一个HTML5 Canvas API的方法,用于获取2D渲染上下文。它返回一个CanvasRenderingContext2D对象,该对象提供了一组方法属性,用于在Canvas上绘制2D图形和文本。 ### 回答2: canvas.getcontext(2d)是一个HTML5的画布元素(Canvas Element)的方法,它是Canvas API的一个重要组成部分。用它来获得可以在画布上绘画的2D环境,通过这个2D环境,我们可以使用JavaScript在画布上实现各种图形、动画等效果。 在使用canvas.getcontext(2d)之前,首先要确定需要在哪个画布元素上进行绘制,可以使用document.getElementsByName或document.getElementById等方法来获取该元素的引用。然后就可以使用getcontext方法来获取画布的2D环境。 2D环境可以被赋值到JavaScript变量,并且我们可以在变量使用各种方法属性来进行操作,如绘制直线、多边形、圆形、文本等各种基础图形,还可以通过设置不同的样式、透明度、阴影,以及利用控制定时器等方法来实现各种复杂的图形和动画效果。 对于使用canvas.getcontext(2d)进行绘图的开发者而言,需要掌握一定的HTML、CSS和JavaScript技术,熟练掌握Canvas API的基础概念和常见操作方法,如画笔与路径模式、样式和属性设置等。同时,需要注意避免一些常见的绘图错误,如坐标系转换、样式变化和线宽设置等问题。 因此,对于想要利用HTML5 Canvas实现图形、动画等效果的开发者而言,canvas.getcontext(2d)是一个重要的入口点,需要熟练掌握其基本用法,才能实现功能丰富、性能优异的Canvas应用程序。 ### 回答3: canvas.getContext(2d)是HTML5标准之一,它是一个Javascript对象,表示画布的二维渲染上下文。通过canvas.getContext('2d')方法,可以在页面canvas元素创建一个绘图环境,然后我们可以在此canvas元素进行绘图。 在canvas使用2d渲染上下文来绘画,可以产生不同种类的图形,比如线条、圆形、矩形、多边形和图像。通过2d渲染上下文,可以设置许多绘图特性,比如填充颜色、线条颜色、描边宽度、字体属性等等,使我们可以绘制出复杂的图形。 canvas.getContext('2d')方法创建的2d渲染上下文可以调用多种方法,如stroke(), fill(), rect(), arc()等等。这些方法可以在canvas元素绘制不同种类的图形。还可以设置颜色和形状的属性,比如fillStyle、strokeStyle、lineWidth、lineJoin等等。我们还可以使用canvas.getContext('2d')方法创建2d渲染上下文来绘制图像。 当我们使用canvas.getContext('2d')方法创建2d渲染上下文时,我们还可以操纵像素数据,从而可以实现特殊效果的绘图。通过canvas.getContext('2d')方法,可以获取到canvas元素的像素数据,然后对这些数据进行操作,以实现一些特殊需要的效果,比如像素化,位图变换等等。 总之,canvas.getContext('2d')方法HTML5标准非常重要的一个API,它提供了二维图形的绘制和像素数据的操纵等功能,使得我们可以在canvas元素实现多种多样的图像效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值