当前位置:网站首页 > R语言数据分析 > 正文

fabric操作canvas绘图-(三)渐变

之前的文章中,我们已经实现了如何创建图形,现在可以用渐变来填充。

一,线性渐变

 const canvas = new fabric.Canvas("canvas"); canvas.setBackgroundColor("rgb(100,200,200)"); const rect = new fabric.Rect({ 
    left: 50, top: 50, width: 50, height: 50, fill: "yellow", originX: 'center',//调整中心点的X轴坐标 originY: 'center'//调整中心点的Y轴坐标 }); const gradient = new fabric.Gradient({ 
    type:"linear",//线性渐变,可取值:linear or radial gradientUnits:"pixels",//以像素做基本单位 coords:{ 
   x1:0,y1:0,x2:0,y2:rect.height},//线性渐变的起点和终点 colorStops:[ { 
   offset:0,color:"#000",}, { 
   offset:1,color:"#fff"} ] //线性渐变的颜色分层,offset:0是起点,1是终点,中间可以多层 }) rect.set("fill",gradient) canvas.add(rect); 

实现的效果:

请添加图片描述

二,多层线性渐变

 const canvas = new fabric.Canvas("canvas"); canvas.setBackgroundColor("rgb(100,200,200)"); const rect = new fabric.Rect({ 
    left: 50, top: 50, width: 50, height: 50, fill: "yellow", originX: 'center',//调整中心点的X轴坐标 originY: 'center'//调整中心点的Y轴坐标 }); const gradient = new fabric.Gradient({ 
    type:"linear",//线性渐变,可取值:linear or radial gradientUnits:"pixels",//默认为像素,但可以指定为百分比:pixels or pencentage coords:{ 
   x1:0,y1:0,x2:0,y2:rect.height},//线性渐变的起点和终点 colorStops:[ { 
   offset:0,color:"#000"}, { 
   offset:0.5,color:"red"}, { 
   offset:1,color:"#fff"} ] //线性渐变的颜色分层,offset:0是起点,1是终点,中间可以多层 }) rect.set("fill",gradient) canvas.add(rect); 

实现的效果:
请添加图片描述

三,径向渐变

fabric是可以实现径向渐变的,具体的参数和上文没差,改成径向即可:

 const canvas = new fabric.Canvas("canvas"); canvas.setBackgroundColor("rgb(100,200,200)"); const rect = new fabric.Rect({ 
    left: 0, top: 0, width: 100, height: 100, fill: "yellow", // originX: 'center',//调整中心点的X轴坐标 // originY: 'center'//调整中心点的Y轴坐标 }); const gradient = new fabric.Gradient({ 
    type:"radial",//线性渐变,可取值:linear or radial gradientUnits:"pixels",//默认为像素,但可以指定为百分比:pixels or pencentage coords:{ 
    r1: 50, // 该属性仅径向渐变可用,外圆半径 r2: 5, // 该属性仅径向渐变可用,外圆半径  x1: 50, // 径向焦点的 X 坐标 y1: 50, // 径向焦点的y坐标 x2: 50, // 中心点的x坐标, y2: 50, // 中心点的y坐标, }, colorStops:[ { 
   offset:0,color:"blue"}, { 
   offset:1,color:"#fff"} ] //线渐变的颜色分层,offset:0是起点,1是终点,中间可以多层 }) rect.set("fill",gradient) canvas.add(rect); }, 

实现的效果:
请添加图片描述

到此这篇fabric操作canvas绘图-(三)渐变的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • fabric操作canvas绘图-(四)事件绑定2024-12-02 07:45:09
  • 使用fabric画一个图形-练习2024-12-02 07:45:09
  • postcss-pxtorem 插件自动转换 rem 单位的配置2024-12-02 07:45:09
  • element Transfer 穿梭框 内容太长显示不全,鼠标移动上去显示全部2024-12-02 07:45:09
  • 从window.history理解浏览器返回不触发页面刷新问题2024-12-02 07:45:09
  • fabric操作canvas绘图-(二)动画2024-12-02 07:45:09
  • ES6的export和import2024-12-02 07:45:09
  • UML图及在drawio中的绘制2024-12-02 07:45:09
  • yarn和npm设置修改源2024-12-02 07:45:09
  • webpack5图片压缩-image-webpack-loader插件2024-12-02 07:45:09
  • 全屏图片