当前位置: 首页 > news >正文

西安网站建设首选网站生鲜建设市场分析

西安网站建设首选,网站生鲜建设市场分析,如何将网站做成app,东莞关键词优化代理文章目录 综述数据管理图形渲染图形编辑事件监听预告 综述 fabric提供了二维图形编辑需要的所有基础能力,包括:数据管理、图形渲染、图形编辑和事件监听。其中,图形编辑可以通过事件监听和图形渲染来实现,所以可以弃用。数据管理…

文章目录

  • 综述
  • 数据管理
  • 图形渲染
  • 图形编辑
  • 事件监听
  • 预告

综述

fabric提供了二维图形编辑需要的所有基础能力,包括:数据管理、图形渲染、图形编辑和事件监听。其中,图形编辑可以通过事件监听和图形渲染来实现,所以可以弃用。数据管理方便对业务数据做定制化管理。

数据管理

fabric提供了数据管理能力,能很方便地存取图形数据。
代码如下:

var canvas = new fabric.Canvas('a');
var rect = new fabric.Rect();// 新增object
canvas.add(rect);
// 按索引取object
canvas.item(0);
// 获取指定type的object
canvas.getObjects(type);
// 移除object
canvas.remove(rect);
// 遍历对象
canvas.forEachObject(callback);

图形渲染

fabric原生支持部分图形的渲染,Rect、Circle、Triangle、Polyline、Polygon、Point、Path、Text、Object等。通过这些类,你可以很方便地构建出对应的图形。
代码如下:

var circle = new fabric.Circle({ radius: 20, fill: 'green', left: 100, top: 100 });
var triangle = new fabric.Triangle({ width: 20, height: 30, fill: 'blue', left: 50, top: 50 });canvas.add(circle, triangle);// 设置背景图
canvas.setBackgroundImage('../assets/pug.jpg');// 获取样式
circle.get('fill'); // 'green'// 单独设置样式
circle.set('fill', 'blue');
circle.set('opacity', 0.7);
circle.set('stroke', 'red');
circle.set('strokeWidth', 5);// 批量设置样式
circle.set({ fill: 'yellow', opacity: 0.5 });// 触发重新渲染
canvas.renderAll();// 渲染并初始化图形
canvas.renderAndReset();// 选中object
canvas.setActiveObject(circle);// 添加文字标注
var text = new fabric.Text('hello world', { left: 100, top: 100, fill: 'blue', fontSize: 12 });canvas.add(text);

图形编辑

fabric原生支持了图形的编辑,例如平移、旋转和缩放。不过扩展性不强,本人不喜欢使用,禁用也很简单,如下。
用法如下:

circle.set({lockMovementX: true, // 禁止横向移动lockMovementY: true, // 禁止纵向移动lockRotation: true, // 禁止旋转lockScalingX: true, // 禁止横向缩放lockScalingY: true, // 禁止纵向缩放
});

事件监听

要想编辑功能强大,事件监听必不可少。fabric提供了很底层的事件监听,写法简单,如下:

// 鼠标事件
const mouseEvents = ['mouse:down', 'mouse:move', 'mouse:up']// 渲染事件
const renderEvents = ['after:render']// 选中事件
const selectEvents = ['selection:cleared', 'selection:created', 'selection:updated']// 对象事件
const objectEvents = ['modified', 'selected', 'added', 'removed', 'moving', 'scaling', 'rotating', 'resizing']canvas.on('mouse:down', (options) => { console.log(options.e.clientX, options.e.clientY); });canvas.on('selection:created', (options) => { console.log(options.selected); });canvas.on('object:added', (options) => { console.log(options.target); })

可以监听整个画布的鼠标事件,以及一些抽象后的事件。

预告

下一章,讲讲图片标注中,画布的拖拽、缩放涉及的坐标系相关知识。

http://www.yayakq.cn/news/548638/

相关文章:

  • 百度回收网站搭建长沙本土网站建设公司
  • 网站空间安装长沙做网站多少钱
  • 温州阀门网站建设微营销平台系统
  • 河南网站建设找哪家crm系统免费
  • 领航 网站设计山东企业
  • 温州城市建设投资集团网站vk社交网站做婚介
  • 网站建设的落地页个人网站论文设计内容简介
  • 贵州城乡建设网站厂房设计装修公司
  • 建一个商城网站需要多少钱湖北建设局网站首页
  • 商丘做微信网站sqwyy提卡网站怎么做
  • 360网站推广官网球阀什么网站可以做投资
  • 商城网站建设报二手房网站建设书
  • 乐清网站建设yq01出库入库管理软件app
  • 网站建设 - 碧诺网络有没有做a的电影网站
  • 网站弹出文字做外贸兼职的网站有哪些
  • 青岛网页建站工具有关电子商务网站建设的 论文
  • 商城网站备案能通过吗淄博网站建设团队
  • 建好网站是不是还得维护看守所加强自身网站建设工作总结
  • 商城网站的建设定位公司在选择网站时应考虑什么
  • 怎样网站制作设计网站建设套餐介绍
  • 信息作业网站下载收到一张网站服务费怎么做凭证
  • 网站建设开票税率一键急速安装wordpress
  • 个人网站设计论文的结论房屋设计图用什么软件
  • 电商网站的意义邢台企业做网站价格
  • 韶关住房和城乡建设部网站网址入口
  • 网站首页页面代码电脑网站和手机网站怎么做相同路径
  • 英文网站营销wordpress 屏蔽特定国家ip
  • 灯饰网站源码红色大气网站模板
  • 河北中石化建设网站新闻门户网站是什么
  • 做阿里巴巴类似的网站吗电商平台搭建方案