在本教程中,我們將學習如何使用 FabricJS 獲取 IText 中光標處字符的當前顏色。 IText 類是在 FabricJS 版本 1.4 中引入的,它擴展了 Fabric.Text 并用于創建 IText 實例。 IText 實例使我們可以自由選擇、剪切、粘貼或添加新文本,而無需額外配置。還有各種支持的按鍵組合和鼠標/觸摸組合使文本具有交互性,而 Text 中未提供這些組合。
然而,基于 IText 的 Textbox 允許我們調整文本矩形的大小并自動換行。對于 IText 來說情況并非如此,因為高度不會根據換行進行調整。我們可以通過使用各種屬性來操作 IText 對象。同樣,我們可以使用 getCurrentCharColor 方法獲取光標字符顏色。但是,如果 itext 對象具有圖案、漸變或填充,則將返回當前光標處的字符顏色。 itext 對象的默認填充顏色是 rgb(0,0,0),即顏色“黑色”。因此,如果未指定任何內容,則 rgb(0,0,0) 將作為記錄的輸出返回。
語法
getCurrentCharColor(): String | fabric.Gradient | fabric.Pattern
登錄后復制
示例 1
使用getCurrentCharColor方法獲取默認值
讓我們看一個代碼示例,了解在未提供填充顏色時 getCurrentCharColor 方法的行為方式。記錄的輸出將返回默認的字符顏色。
<!DOCTYPE html>
<html>
<head>
<!-- Adding the Fabric JS Library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
<h2>Using the getCurrentCharColor method to get default value</h2>
<p>You can open console from dev tools and see the logged output</p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
// Initiate an itext object
var itext = new fabric.IText(
"Add sample text here.Lorem ipsum dolor sit amet",{
width: 300,
left: 60,
top: 70,
}
);
// Add it to the canvas
canvas.add(itext);
// Using getCurrentCharColor method
console.log("The current character colour is: ",
itext.getCurrentCharColor());
</script>
</body>
</html>
登錄后復制
示例 2
對帶有填充的 itext 對象使用 getCurrentCharColor 方法
讓我們看一個代碼示例,以查看使用填充時記錄的輸出。正如我們所看到的,將返回填充的顏色。
<!DOCTYPE html>
<html>
<head>
<!-- Adding the Fabric JS Library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
<h2>Using the getCurrentCharColor method for an itext object with fill</h2>
<p>You can open console from dev tools and see the logged output for fill</p>
<canvas id="canvas"></canvas>
<script>
// Initiate a canvas instance
var canvas = new fabric.Canvas("canvas");
canvas.setWidth(document.body.scrollWidth);
canvas.setHeight(250);
// Initiate an itext object
var itext = new fabric.IText(
"Add sample text here.Lorem ipsum dolor sit amet",{
width: 300,
left: 60,
top: 70,
fill: "red",
}
);
// Add it to the canvas
canvas.add(itext);
// Using getCurrentCharColor method
console.log(
"The current character colour is: ",
itext.getCurrentCharColor()
);
</script>
</body>
</html>
登錄后復制
以上就是如何使用FabricJS獲取IText中光標處字符的當前顏色?的詳細內容,更多請關注www.92cms.cn其它相關文章!






