この記事では、FabricJS を使用してオブジェクトのサイズを角ごとに不均一に変更する方法を学びます。 FabricJS では、オブジェクトを角からドラッグすると、オブジェクトは比例して変形します。ただし、uniScaleKey を押すことでこの動作を制御できます。
new fabric.Canvas(element: HTMLElement|String, { uniScaleKey: String }: Object)
要素 - このパラメータは
オプション (オプション) - このパラメータは、キャンバスの追加のカスタマイズを提供するオブジェクトです。このパラメータを使用すると、色、カーソル、境界線の幅など、キャンバスに関連する多くの属性を変更できます。uniScaleKey はその属性の 1 つです。どのキーが統合スケーリングを切り替えるかを示す文字列値を受け入れます。デフォルト値は shiftKey です。可能なキー値は次のとおりです: altKey, shiftKey と ctrlKey。
Shift キーを押して均一スケーリングを無効にする
オブジェクトがアスペクト比を維持する場合エッジをドラッグして変形すると、オブジェクトが均一にスケーリングされると言います。 uniScaleKey を使用すると、この動作をその場で制御できます。デフォルトでは、FabricJS のオブジェクトは比例して拡大縮小します。コード例を見て、Shift キーを押したときにオブジェクトがどのように不均一に拡大縮小されるかを見てみましょう。<!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>Resizing an object non-uniformly via corner points</h2> <p>Hold the <b>shift</b> key and drag the object from its corners. The object will resize non-uniformly. </p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); // Creating an instance of the fabric.Rect class var circle = new fabric.Circle({ left: 70, top: 90, radius: 40, fill: "#006400", }); // Adding it to the canvas canvas.add(circle); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); </script> </body> </html>
uniScaleKey の値を ctrlKey に変更します
デフォルト値はshiftKey ですが、値を変更することもできます。 'ctrlKey' および 'altKey' も使用できます。 NULL またはその他のキーが指定された場合、この機能は無効になります。 えええええ
以上がFabricJS を使用して角ごとにオブジェクトのサイズを不均一に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。