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

微信上如何做网站wordpress缓存单个页面

微信上如何做网站,wordpress缓存单个页面,要建一个优惠卷网站怎么做,制作图简介 标注平台很关键的一点#xff0c;对于整个图片为底图的画布#xff0c;需要支持缩放、拖拽#xff0c;并且无论画布位置在哪里#xff0c;大小如何#xff0c;所有绘制的点、线、面的坐标都是相对于图片左上角的#xff0c;并且#xff0c;拖拽、缩放#xff0c;… 简介 标注平台很关键的一点对于整个图片为底图的画布需要支持缩放、拖拽并且无论画布位置在哪里大小如何所有绘制的点、线、面的坐标都是相对于图片左上角的并且拖拽、缩放点、线、面的坐标不改变。 要实现这一点其实就是理解这个画布的坐标系以及变换矩阵。 画布 fabric.js的底层是canvas绘图。canvas作为画布要支持拖拽、缩放就需要有个容器监听鼠标事件。如果我们直接对canvas dom进行拖拽、缩放有两个缺陷1是后续只能在最新的canvas范围内进行缩放、拖拽不易点击2是dom大小和位置变更会不断触发浏览器的重绘性能开销较大容易卡顿。 为了解决上述问题我提供以下解决方案 以一个固定位置的canvas作为画布拖拽、缩放只改变canvas的变形矩阵即可transform(a, b, c, d, e, f)。 a水平方向的缩放b竖直方向的倾斜偏移c水平方向的倾斜偏移d竖直方向的缩放e水平方向的移动f竖直方向的移动 因此我们的平移可以通过设置e和f缩放可以通过设置a和d。 在fabric.js中可以通过viewportTransform属性获取这六个参数。然后再通过setViewportTransform方法设置这六个参数。 居中 画布居中是标注平台必须的功能因为你拖拽缩放后图像可能偏离视图范围很多需要快速复原。居中的功能说起来简单但是实现还是有一些困难。其原理如下图所示。 首先获取要标注的图片宽100高80设置canvas的背景图片。 const canvas new fabric.Canvas(domId, {width: 100,height: 80 }); canvas.setBackgroundImage(图片链接); 其次初始化canvas的为父容器的宽高100x60初始化变换矩阵[1,0,0,1,0,0]即平移0缩放1不缩放。 canvas.setDimensions({ width: 100, height: 60 }); canvas.setViewportTransform([1,0,0,1,0,0]); 再次根据canvas父容器的宽高100x60按图像能全展示的比例对canvas视图范围进行等比缩放0.75得到新的宽高75x60。即a0.75d0.75。 canvas.setCanvasZoom(0.75); 最后将canvas视图范围往右平移15即e15f0。 canvas.setViewportTransform[0.75,0,0,0.75,15,0] 这样我们的canvas始终是父容器的范围而viewport范围已经居中。 注意变换矩阵设置后还需要执行渲染重置方法这个是fabric的底层逻辑漏洞如果不重置画布上的点线面的位置会偏移。 canvas.renderAndReset(); 平移 首先我们需要监听canvas的mousedown、mousemove、mouseup。 mousedown的回调函数我们设置全局变量active为true用于mousemove判断是否需要执行平移并记录lastX e.pageX和lastY e.pageY。 mousemove的回调函数如果active为true我们根据e.pageX - lastX和e.pageY - lastY确定横向和纵向的平移量再通过对transform的e和f进行叠加这个平移量实现平移功能。 mouseup的回调函数设置acitve为false。 缩放 监听canvas的wheel鼠标滚轮事件。 wheel的回调函数如果e.deltaY 0则表示缩小否则表示放大。缩小我们对当前的缩放比例统一进行 -0.1放大统一 0.1。如果你想更人性化可以对缩放比例做非线性的变化。 注意点 canvas的缩放是基于canvas左上角的原点并非基于平移后的点为原点。因此需要先将canvas的平移参数置为0后再设置缩放比例。 另外我们的缩放是基于鼠标当前位置为原点进行缩放。如图红色点处(x, y)进行缩放视图从v1变到v2我们已知两个视图对应的缩放比例z1和z2要求deltaX和deltaY根据相似定理得 deltaX (x - left) * (1 - z2 / z1) deltaY (y - top) * (1 - z2 / z1) newLeft deltaX left newTop deltaY top 因此我们在上一步设置好缩放比例后执行平移操作enewLeftfnewTop从而将视图从黑色框缩放至蓝色框。 预告 下一章 聊聊fabric的几何定制化渲染。
http://www.zqtcl.cn/news/871810/

相关文章:

  • html网站开发主要涉及哪些技术越秀金融大厦地址
  • 北京建设银行网站田村广州室内设计公司排行榜
  • 安徽金路建设集团有限公司网站平面设计班培训入门
  • 小型电子商务网站开发php mysql网站开发教程
  • 网站建设常州麦策电商2 网站建设的一般步骤包含哪些
  • cn免费域名注册网站企业推广的渠道有哪些
  • 关于网站建设心得体会网站的功能包括哪些
  • 番禺网站制作技术网站建设与管理pdf
  • 毕业设计做网站选题营销型网站功能模块
  • 西部数码网站管理助手安装建工教育网
  • wordpress 网站logowordpress文本编辑器插件
  • 杭州装饰网站建设如何免费建购物网站
  • 在vs做的项目怎么连接到网站珠海有什么网站
  • 网上购物网站建设论文6做的网站必须放在idc机房吗
  • 基于asp.net的视频网站开发500套wordpress模板
  • 商城模板建站价格寻找专业网站建设
  • 网址我的上网主页seo培训中心
  • 上海建网站服务器河南网站推广优化排名
  • 夸克作文网站淄博团购网站建设
  • 家居类企业响应式网站一个很好的个人网站开发
  • 推荐网站建设服务器百度竞价入口
  • 微信如何做网站100个成功营销策划案例
  • 手机网站分享js代码外贸网站做几种产品
  • 文化网站建设论文wordpress模板打包
  • 学校网站查询做网站 先上线再调整
  • 如何制作一个好网站培训教育网站开发
  • 杭州市网站seo网站微信建设
  • 做购物网站 需要手续安徽科技学院
  • 网站顶部下拉广告网页游戏设计培训学校
  • 做seo的网站是怎么样的wordpress访问地图