ホームページ  >  記事  >  ウェブフロントエンド  >  FabricJS を使用してキャンバスの統合スケーリングを無効にする方法は?

FabricJS を使用してキャンバスの統合スケーリングを無効にする方法は?

WBOY
WBOY転載
2023-09-03 20:57:08871ブラウズ

如何使用 FabricJS 禁用画布中的统一缩放?

この記事では、FabricJS を使用してキャンバスの統合スケーリングを無効にする方法を学びます。 FabricJS では、オブジェクトを隅からドラッグすると、オブジェクトは比例して変形します。ただし、uniformScaling 属性を使用してこの動作を無効にすることができます。

構文

new fabric.Canvas(element: HTMLElement|String, { uniformScaling: Boolean }: Object)

パラメータ

  • ##要素 - このパラメータは 要素そのものです。 document.getElementById() または要素自体の ID から派生した を使用して派生できます。 FabricJS キャンバスはこの要素で初期化されます。

  • オプション (オプション) - このパラメータは、キャンバスの追加のカスタマイズを提供するオブジェクトです。このパラメーターを使用すると、色、カーソル、境界線の幅、その他の多くのプロパティなどのキャンバス関連のプロパティを変更できます。そのうちの uniformScaling はプロパティです。オブジェクトを比例的に拡大縮小するかどうかを決定するブール値を受け入れます。デフォルト値は True です。

例: 値 False のキーとしてuniformScaling を渡す

コード例を見て、

uniformScaling が に設定されている場合にオブジェクトがどのように動作するかを見てみましょう。 False 、スケーリングは不均一です。 FabricJS バージョン 4 以降、プロパティ uniScaleTransform は削除され、uniformScaling に置き換えられました。

<!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>
   <div style="padding: 10px; font-weight: bold; margin-left: 32px">
      How to disable uniform scaling in canvas using FabricJS?
   </div>
   <canvas
      id="canvas"
      width="500"
      height="300"
      style="border: 2px solid #000000">
   </canvas>

   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
      // UniformScaling is disabled
         uniformScaling: false
      });
      // 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);
   </script>
</body>
</html>

出力

FabricJS を使用してキャンバスの統合スケーリングを無効にする方法は?

例: 値 True を指定して、uniformScaling キーをクラスに渡します。

これで、不均一にスケーリングする方法が理解できました。 uniformScaling が False の場合、uniformScaling を有効にしてこの状況を回避できます。コードがどのようなものかを見てみましょう -

<!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>
   <div style="padding: 10px; font-weight: bold; margin-left: 32px">
      How to disable uniform scaling in canvas using FabricJS?
   </div>
   <canvas
      id="canvas"
      width="500"
      height="300"
      style="border: 2px solid #000000">
   </canvas>

   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         // UniformScaling is enabled
      uniformScaling: true
      });
      // 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);
   </script>
</body>
</html>

output

FabricJS を使用してキャンバスの統合スケーリングを無効にする方法は?

以上がFabricJS を使用してキャンバスの統合スケーリングを無効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。