Bagaimana untuk melumpuhkan penskalaan berpusat Ellipse menggunakan FabricJS?

王林
Lepaskan: 2023-09-17 09:25:02
ke hadapan
1082 orang telah melayarinya

如何使用 FabricJS 禁用 Ellipse 的居中缩放?

Dalam tutorial ini, kita akan belajar cara melumpuhkan Centered Zoom Ellipse menggunakan FabricJS. Bujur adalah salah satu daripada pelbagai bentuk yang disediakan oleh FabricJS. Untuk mencipta elips, kita mesti mencipta contoh kelas Fabric.Ellipse dan menambahkannya pada kanvas. Apabila menskalakan melalui kawalan, tetapkan sifat centeredScaling nilai "true" untuk menggunakan pusat sebagai asal transformasi objek.

Syntax

new fabric.Ellipse({ centeredScaling: Boolean }: Object)
Salin selepas log masuk

Parameter

  • Pilihan (pilihan) - Parameter ini ialah Objek< /em> menyediakan penyesuaian tambahan pada elips kami. Menggunakan parameter ini, anda boleh menukar warna, kursor, lebar lejang dan banyak lagi sifat objek yang berkaitan dengan atribut centeredScaling.

Option Key

  • centeredScaling - Hartanah ini menerima nilai boolean. Apabila sifat ini Benar, objek menggunakan pusat sebagai asal transformasi. . Apabila kita mengezum masuk pada objek, asal transformasi adalah pusat elips.

    <!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>How to disable the centered scaling of Ellipse using FabricJS?</h2>
          <p>Select the object and stretch it from its corners. The ellipse will scale up from its center. This is the default behavior.</p>
          <canvas id="canvas"></canvas>
    
          <script>
             // Initiate a canvas instance
             var canvas = new fabric.Canvas("canvas");
    
             // Initiate an ellipse instance
             var ellipse = new fabric.Ellipse({
                left: 215,
                top: 100,
                fill: "white",
                rx: 90,
                ry: 50,
                stroke: "#c154c1",
                strokeWidth: 5,
                borderColor: "#daa520",
                centeredScaling: true,
             });
    
             // Adding it to the canvas
             canvas.add(ellipse);
             canvas.setWidth(document.body.scrollWidth);
             canvas.setHeight(250);
          </script>
       </body>
    </html>
    Salin selepas log masuk
  • Contoh 2

Melumpuhkan atribut centeredScaling

Kami boleh melumpuhkan atribut centeredScaling dengan memberikan nilai "false" kepadanya. Ini tidak lagi akan menggunakan pusat elips sebagai pusat transformasi. Berikut ialah kod untuk demonstrasi -

<!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>How to disable the centered scaling of Ellipse using FabricJS?</h2>
      <p>Select the object and stretch it from its corners. You will notice the object scales up but not from its center because we have set <b>centeredScaling</b> as False. </p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");

         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 215,
            top: 100,
            fill: "",
            rx: 90,
            ry: 50,
            stroke: "#c154c1",
            strokeWidth: 5,
            borderColor: "#daa520",
            centeredScaling: false,
         });

         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk melumpuhkan penskalaan berpusat Ellipse menggunakan FabricJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!