如何使用 FabricJS 鎖定三角形的垂直縮放?
<p>在本教程中,我們將學習如何使用 FabricJS 鎖定三角形的垂直縮放。就像我們可以在畫布中指定三角形物件的屬性,例如位置、顏色、不透明度和尺寸一樣,我們還可以指定是否要阻止物件的垂直縮放。這可以透過使用<em>lockScalingY</em>屬性來實現。</p><h2>語法</h2><pre class="just-code notranslate language-javascript" data-lang="javascript">new fabric.Triangle({ lockScalingY : Boolean }: Object)</pre><h2>引數</h2><ul class="list"><li><p><strong>選項</strong><strong> (可選)</strong> − 此引數是一個<em>物件</em>,它為我們的三角形提供了額外的自定義選項。使用此引數,可以更改與物件相關的屬性,例如顏色、游標、描邊寬度以及許多其他屬性,其中<em>lockScalingY</em>是一個屬性。</p></li></ul><h2>選項鍵</h2><ul class="list"><li><p><strong>lockScalingY</strong><strong> </strong>− 此屬性接受一個<strong>布林</strong>值。如果我們將其賦值為“true”,則物件的垂直縮放將被鎖定。</p></li></ul><h2>示例 1</h2><p><strong>三角形物件在畫布中的預設行為</strong></p><p>讓我們看一個程式碼示例來了解當不使用<em>lockScalingY</em>屬性時三角形物件的預設行為。在水平和垂直方向上縮放物件是可行的。</p><pre class="demo-code notranslate language-javascript" data-lang="javascript"><!DOCTYPE html> <html> <head> <!-- 新增 Fabric JS 庫 --> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>三角形物件在畫布中的預設行為</h2> <p>您可以沿水平和垂直方向縮放三角形以驗證是否可以在兩個方向上進行縮放。</p> <canvas id="canvas"></canvas> <script> // 初始化畫布例項 var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // 初始化三角形物件 var triangle = new fabric.Triangle({ left: 105, top: 70, width: 90, height: 80, fill: "#746cc0", stroke: "#967bb6", strokeWidth: 5, }); // 將其新增到畫布 canvas.add(triangle); </script> </body> </html></pre><h2>示例 2</h2><p><strong>將<em>lockScalingY</em>作為鍵並傳遞值為“true”</strong></p><p>在本例中,我們將看到如何使用<em>lockScalingY</em>屬性來停止三角形物件垂直縮放的能力。正如我們所看到的,儘管我們可以水平縮放三角形物件,但我們不允許在垂直方向上執行相同的操作。</p><pre class="demo-code notranslate language-javascript" data-lang="javascript"><!DOCTYPE html> <html> <head> <!-- 新增 Fabric JS 庫 --> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>將 lockScalingY 作為鍵並傳遞值為“true”</h2> <p>如果您嘗試在 y 方向上縮放三角形,則可以看到一個“不允許”的游標</p> <canvas id="canvas"></canvas> <script> // 初始化畫布例項 var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // 初始化三角形物件 var triangle = new fabric.Triangle({ left: 105, top: 70, width: 90, height: 80, fill: "#746cc0", stroke: "#967bb6", strokeWidth: 5, lockScalingY: true, }); // 將其新增到畫布 canvas.add(triangle); </script> </body> </html></pre>