javascript - 如何使用fabricjs Canvas 选择IText对象(文本段落)之间的 "toggle"?

标签 javascript jquery canvas fabricjs

我希望能够从下拉列表中进行选择,以在 Fabricjs Canvas 上的样式化 IText 段落之间进行“切换”,但在实现这一点时遇到困难。我尝试借鉴此方法,对图像进行类似的操作,但没有成功:

//oImgObj bread and butter, kudos @grunt
function replaceImage(oImgObj, imgUrl) {
  if (!isImageLoaded) return; //return if initial image not loaded
  var imgElem = oImgObj._element; //reference to actual image element
  imgElem.src = imgUrl; //set image source
  imgElem.onload = () => canvas.renderAll(); //render on image load
}

如何使用可编辑的文本 block 来实现此目的?

最佳答案

您可以将文本设置为具有属性text的文本对象。

var canvas = new fabric.Canvas('c');
var text = new fabric.IText('FabricJs is Awsome',{
  left:50,top:50
});
canvas.add(text);
function replace(option){
 var val = document.getElementsByTagName('textarea')[0].value;
 text.set('text',val);
 canvas.renderAll();
}
canvas {
 border: blue dotted 2px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.19/fabric.min.js"></script>
<canvas id="c" width="400" height="400"></canvas>
<br>
<textarea></textarea><button onclick='replace()'>Replace</button>

关于javascript - 如何使用fabricjs Canvas 选择IText对象(文本段落)之间的 "toggle"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46892634/

相关文章:

javascript - 从数据库中删除数据而不重新加载页面

javascript - 清除选择时选择的选择插件 'change' 事件

javascript - jquery 选择(查找)元素

image - 跨源资源共享 header 不适用于 safari

javascript - HTML5/Canvas 是否支持双缓冲?

HTML5 磁贴引擎

javascript - 使用 css 关闭 javascript?

javascript - 带信息窗口的多个标记

JavaScript。 Uncaught ReferenceError : (object) is not defined at HTMLInputElement. onchange

javascript - json.success 重定向到感谢页面