如何使用 FabricJS 停用三角形的可選擇性?
在本教程中,我們將學習如何使用 FabricJS 停用三角形的可選擇性。三角形是 FabricJS 提供的各種形狀之一。為了建立一個三角形,我們必須建立一個 `fabric.Triangle` 類的例項並將其新增到畫布。
為了修改物件,我們必須在 FabricJS 中選擇它。但是,我們可以使用 `selectable` 屬性停用此行為。
語法
new fabric.Triangle{ selectable: Boolean }: Object)引數
**選項 (可選)** - 此引數是一個 `Object`,它為我們的三角形提供了額外的自定義選項。使用此引數,可以更改與物件的許多屬性相關的屬性,例如顏色、游標、描邊寬度以及其他許多屬性,其中 `selectable` 是一個屬性。
選項鍵
**selectable** - 此屬性接受一個 **布林值**。當為其分配 `false` 值時,無法選擇該物件進行修改。其預設值為 `true`。
示例 1
預設行為或當 selectable 屬性設定為 'true' 時
讓我們來看一個程式碼示例,瞭解當預設情況下 `selectable` 屬性設定為 `true` 時物件的行為。當 `selectable` 屬性設定為 `true` 時,我們可以選擇物件,將其移動到畫布周圍,並對其進行修改。
<!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>Default behaviour or when selectable property is set to 'true'</h2>
<p>You can try moving the triangle around the canvas or scaling it to prove that it's selectable</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 a triangle object
var triangle = new fabric.Triangle({
left: 105,
top: 70,
width: 90,
height: 80,
fill: "#746cc0",
stroke: "#967bb6",
strokeWidth: 5,
});
// Add it to the canvas
canvas.add(triangle);
</script>
</body>
</html>示例 2
將 selectable 屬性作為鍵傳遞
在這個例子中,我們將 `false` 值賦給 `selectable` 屬性。這意味著我們不能再選擇三角形物件進行修改。
<!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>Passing selectable property as key</h2>
<p>You can see that the triangle is no longer selectable</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 a triangle object
var triangle = new fabric.Triangle({
left: 105,
top: 70,
width: 90,
height: 80,
fill: "#746cc0",
stroke: "#967bb6",
strokeWidth: 5,
selectable: false,
});
// Add it to the canvas
canvas.add(triangle);
</script>
</body>
</html>
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP