JavaScript全解析 您所在的位置:网站首页 canvas绘制指定区域的图片 JavaScript全解析

JavaScript全解析

2023-05-08 16:57| 来源: 网络整理| 查看: 265

绘制变换●在 cancas 内, 也可以向 css 中一样, 出现一些 2d 变换的效果●先来绘制一个基本矩形

绘制位移●可以将你要绘制的内容进行位移操作●语法 : 工具箱.transform( x 方向位移尺寸, y 方向位移尺寸 )●注意 : 一定要先设置位置在进行填充或者描边的操作

绘制缩放●可以将你要绘制的图形进行缩放操作●语法 : 工具箱.scale( x 轴方向缩放, y 轴方向缩放 )●注意 : 一定要先设置缩放在进行填充或者描边的操作●注意 : canvas 的缩放不仅仅是对内容的缩放, 更是对画布的缩放

●我们会发现他已经出界了因为我们原先预设的 100 100 的坐标位置开始这个画布放大了, 那么就相当于在 200 200 的位置开始了这个矩形我们预设的 200 * 100 的矩形变成了 400 * 200 的矩形

绘制旋转●可以将你要绘制的内容进行旋转操作●语法 : 工具箱.rotate( 旋转的弧度 )●注意 : 一定要先设置缩放在进行填充或者描边的操作●注意 : canvas 中的旋转中心点只能是画布的左上角, 相当于是在旋转画布

●可能不太好看的出来是如何计算的 30deg●看看下面这个例子

●这样可能就更明确了一些

绘制渐变●canvas 中也是可以绘制渐变颜色的●而且相对比较简单, 我们只需要制定好渐变方案即可

线性渐变●要完成一个线性渐变○要现制定一个渐变方案○向渐变方案内填充颜色●然后我们在填充或者描边的时候, 使用这个渐变方案即可●指定渐变方案○语法 : 工具箱.createLinearGranient(起点x坐标, 起点y坐标, 终点x坐标, 终点y坐标)

○注意 : 这个坐标位置都是以画布原点开始计算的○这时是看不到渐变颜色的, 因为我们还没有添加渐变颜色

○根据我们上面的预设, 这个红框圈出来的位置才是真实的完整渐变○超出红框的位置会自动填充■左侧超出的全部是开始渐变的颜色■右侧超出的全部是结束渐变的颜色■上下超出的按照渐变方向进行统一调整●接下来我们来给这个渐变方案添加一些渐变的颜色○语法 : 渐变方案.addColorStop( 位置, 颜色 )

○这里的位置关系是从 0 到 1, 0 表示指定范围开始坐标, 1 表示指定范围结束坐标○咱们就从红色渐变过渡到橘黄色

○目前我们的渐变颜色还是没有出现在画布上, 这个是我模拟的形式○其实只有我们确定的, 100 100 到 500 200 的位置( 黑框圈出来 )是一个完整渐变○超出的位置都是由 canvas 自动判断填充的颜色●现在, 这个渐变方案就完成了●剩下的就是使用这个渐变方案了●直接把渐变方案设置给 fillStyle 或者 strokeStyle 就可以了

●这样渐变颜色就出现了●接下来我们缩小矩形范围

●我们会看到, 我们只能看到完整渐变的一部分了●注意 : 渐变不是根据你的图形而制定的, 而是根据画布制定的●文本内容也是可以使用线性渐变的

径向渐变●和刚才的线性渐变是一样的○先要制定渐变方案○然后向渐变方案内添加颜色●剩下的就是在使用的时候直接使用渐变方案即可●语法 : ctx.createRadialGradient(x1, y1, r1, x2, y2, r2)○x1 : 起始圆圆心 x 轴坐标○y1 : 起始圆圆心 y 轴坐标○r1 : 起始圆半径○x2 : 终止圆圆心 x 轴坐标○y2 : 终止圆圆心 y 轴坐标○r2 : 终止圆半径

●这个渐变方案是什么样子的内, 不太好用文字描述●其实就是两个圆的切线相连, 绘制的区域为渐变区域●看下面这个例子

●这样可能更明确一些●注意 : 渐变是包含开始圆位置, 但是不包含终止圆的位置的●按照切线相连的区域, 超出去的部分会用纯色填充, 由 canvas 自己计算●按照我们刚才绘制的渐变方案, 咱们绘制一个和画布一样大小的矩形就能看出效果了

●这就是径向渐变●文本内容也是可以使用径向渐变的



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有