草庐IT

fabricjs

全部标签

javascript - 关闭 fabricjs 图像对象的缓存

我正在尝试使用以下函数使用fabricjs加载图像:fabric.Image.fromURL()我想关闭缓存,因为当图像更新时,fabricjs图像对象不会更新,因为它被缓存了。我不能在url中使用随机字符串作为虚拟参数来停止缓存,因为我使用的url包含一个签名参数,因此如果我尝试添加一个虚拟参数,我需要更新url的签名参数是我不想做的事。如果有任何帮助,我将不胜感激。感谢您的宝贵时间! 最佳答案 自版本1.7.0起,fabricjs不再缓存图像。这是来自文档。objectCaching:BooleanWhentrue,object

javascript - fabric.Canvas 不是构造函数

我像这样包含了织物:但是当我这样使用它时:varcanvas;functioninitSketchPad(){canvas=newfabric.Canvas('sketch-pad',{isDrawingMode:true});}我明白了UncaughtTypeError:fabric.Canvasisnotaconstructor 最佳答案 我不确定您的fabric_freedrawing.js文件中有什么,但将您的代码添加到下面的代码片段似乎工作正常。varcanvas;functioninitSketchPad(){canva

javascript - Base64 图像数据不适用于 fabricjs 中的 loadfromJSON

我正在尝试加载一个包含图像对象的json对象。图像对象以base64图像数据作为背景。但是我无法加载loadFromJSON方法。代码:varjsonDataSet='{"objects":[{"type":"image","originX":"left","originY":"top","left":0,"top":0,"width":700,"height":600,"fill":"rgb(0,0,0)","overlayFill":null,"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"

javascript - phantomjs 使用 src 图像在 canvas.toDataURL 上抛出 DOM 异常 18

我正在尝试使用phantomjs将svg转换为png图像:varpage=require('webpage').create();page.evaluate(function(){varsvg='';varsrc='data:image/svg+xml;base64,'+window.btoa(unescape(encodeURIComponent(svg)));varimg=newImage();img.src=src;img.onload=function(){varcanvas=document.createElement('canvas');canvas.width=img.w

javascript - Fabric.js 的文本框不换长字

我正在使用Fabric.js的Textbox。我给了一个固定的宽度。但是,如果用户键入一个没有任何空格且超出文本框给定宽度的长单词,则它不会换行。有什么解决办法吗? 最佳答案 是的,您可能喜欢或不喜欢实现分词的解决方案:覆盖fabric默认的换行函数:fabric.Textbox.prototype._wrapLine=function(ctx,text,lineIndex){varlineWidth=0,lines=[],line='',words=text.split(''),word='',letter='',offset=0

javascript - 分组和取消分组 Fabric.js 对象

我使用fabric.js创建了一种“多边形选择器”或“多边形生成器”。每次单击都会创建多边形的一个Angular,可以选择、移动等...双击原始点“关闭”多边形。在这一点上,我采用了构成多边形的所有圆圈/线并将它们分组。到目前为止一切顺利。当双击这样的组时,我希望它取消分组并恢复为可移动节点(即移动圆圈reshape多边形等);但是有一些奇怪的事情发生了——看看当你移动圆圈时会发生什么,某些线似乎“没有连接”到圆圈......我已经查看了每个组/取消组相关的fabric.js线程(这里/那里/所有地方)。似乎没有一个涵盖我这里的“连接”对象的类型。我放在一起展示问题的fiddle比我能

javascript - 如何在织物文本对象中应用自定义字体?

我想在织物文本对象中使用自定义字体,我点击了以下链接:http://fabricjs.com/fabric-intro-part-4/不过好像只有node.js支持。有什么方法可以在Canvas上的简单织物文本对象上支持它吗? 最佳答案 使用CSS:@font-face{font-family:myFirstFont;src:url('Sansation_Light.ttf'),url('Sansation_Light.eot');/*IE9*/}创建织物文本对象实例:varobject=newfabric.Text("NEWTEX

javascript - Fabric.js 子类化 fabric.Group - 错误 : "Cannot read property ' async' of undefined"when load from JSON

有以下问题:尝试继承fabric.Group:varCustomGroup=fabric.util.createClass(fabric.Group,{type:'customGroup',initialize:function(objects,options){options||(options={});this.callSuper('initialize',objects,options);this.set('customAttribute',options.customAttribute||'undefinedCustomAttribute');},toObject:functi

javascript - 边界框外观 - 使用 fabricjs 控制自定义

我想知道有没有办法更改边界框图标,我阅读了fabric.js中的源代码,它为边界框生成方形框,但我想将其更改为圆形或更改为我的自定义外观。你能给我建议吗? 最佳答案 自定义控件的最快方法是编写您自己的_drawControl函数并使其与fabricjs标准兼容以覆盖它。请记住,每次渲染都会调用此函数9次,因此请尽量减少代码和绘图。此外,如果您修改上下文(ctx),请记住使用.save和.restore以免弄乱渲染管道。FabricJs将使用top和left调用该函数,准备好矩形,因此Angular将位于top+size/2并且lef

javascript - 在 Fabric.js 中保留图像的纵横比

如何保持加载到Canvas上的图像的纵横比?当图像从本地系统加载到Canvas上时,我使用width=canvas.width和height=canvas.height创建图像对象。但是缺少质量。即使加载的图像分辨率更高。有什么方法可以保留加载图像的纵横比吗? 最佳答案 我做对了吗:您想用图像填充Canvas,保持比例并overflowhidden?你应该重新计算它们:cw,ch-Canvas尺寸iw,ih-图像尺寸ih=imgObj.naturalHeight;iw=imgObj.naturalWidth;fw,fh-最终维度wi