fabricjs如何双击图片(或矩形)来编辑文本并命名

Posted

技术标签:

【中文标题】fabricjs如何双击图片(或矩形)来编辑文本并命名【英文标题】:fabricjs how to double-click a picture(or rect) to edit text and name it 【发布时间】:2022-01-05 18:23:24 【问题描述】:

如何用fabricjs组合图像和文本,双击组合对象时编辑文本, 编辑文本后仍然合并, 请告诉我如何在渲染图像和文本组合时编辑文本

const canvas = new fabric.Canvas("canvas");

// a rect
const rect = new fabric.Rect(
  stroke: "#000",
  strokeWidth: 1,
  fill: "#ccc",
  left: 170,
  top: 80,
  width: 50,
  height: 50
);

// a text for describe rect
const text = new fabric.IText("describe rect", 
  fontFamily: "Comic Sans",
  fontSize: 14,
  stroke: "#000",
  strokeWidth: 1,
  fill: "#000",
  left: 170,
  top: 80
);

// 1 Combine the above two things but can not edit text

// 2 use LabeledRect also

【问题讨论】:

【参考方案1】:

根据您的要求,您可以

    创建 Image 类的子类(或您需要附加标签的任何对象) 使其创建 IText 或 Textbox 的实例并保存对其的内部引用 通过挂钩图像上的事件处理程序(例如双击),手动管理文本事件。确保在修改图像时保持文本的位置和尺寸保持更新。

看看这个答案:Resize Fabric Rect without resizing Textbox。它的作用与您所描述的非常相似。

【讨论】:

以上是关于fabricjs如何双击图片(或矩形)来编辑文本并命名的主要内容,如果未能解决你的问题,请参考以下文章

Fabricjs根据内部对象的对象边界矩形上的鼠标位置进行选择或悬停

Axure rp的线框图元件

Axure RP使用攻略--入门级

java对于绘制的矩形,如何用鼠标双击可以选中这个矩形,并且可以通过方法在举行框中进行文本编辑.

使用 FabricJS 裁剪图像

Fabric JS 2.4.1 ClipPath Crop 不适用于动态创建的矩形蒙版