Rumah >hujung hadapan web >tutorial js >Bagaimana untuk mengalih keluar objek semasa dari rentetan URL objek IText menggunakan FabricJS?
Dalam tutorial ini, kita akan belajar cara mengalih keluar transformasi objek semasa (skala, sudut, flip, condong) daripada rentetan URL objek IText menggunakan FabricJS. Kelas IText telah diperkenalkan dalam FabricJS versi 1.4, yang memanjangkan Fabric.Text dan digunakan untuk mencipta kejadian IText. Kejadian IText memberi kita kebebasan untuk memilih, memotong, menampal atau menambah teks baharu tanpa konfigurasi tambahan. Terdapat juga pelbagai kombinasi kekunci yang disokong dan kombinasi tetikus/sentuh untuk menjadikan teks interaktif yang tidak tersedia dalam Teks.
Namun, Textbox berdasarkan IText membolehkan kami mengubah saiz segi empat tepat teks dan membalutnya secara automatik. Ini tidak berlaku untuk IText, kerana ketinggian tidak melaras berdasarkan pemisah baris. Kita boleh memanipulasi objek IText dengan menggunakan pelbagai sifat. Begitu juga, kita boleh menggunakan sifat withoutTransform untuk mengalih keluar perubahan objek semasa daripada rentetan URL objek IText.
toDataURL({ withoutTransform: Boolean }: Object): String
Pilihan (pilihan) - Parameter ini ialah objek yang menyediakan penyesuaian tambahan kepada perwakilan URL objek IText. Ketinggian, kualiti, format dan banyak sifat lain boleh diubah menggunakan parameter ini, di mana withoutTransform ialah harta.
withoutTransform - Harta ini menerima nilai boolean yang membolehkan kita menyingkirkan transformasi objek semasa. Dengan memberikannya nilai sebenar, tidak akan ada skala, sudut, flip atau kecondongan dalam imej keluaran akhir.
Gunakan atribut withoutTransform dan berikan nilai palsu
Mari lihat contoh kod untuk melihat imej output apabila menghantar nilai palsu kepada sifat withoutTransform. Sebaik sahaja kami membuka konsol daripada alat pembangunan, kami boleh melihat perwakilan URL objek IText. Kami boleh menyalin URL dan menampalnya ke dalam bar alamat tab baharu untuk melihat output akhir. Dalam contoh ini, kami memberikan objek IText sifat skalaY yang menentukan faktor skala menegak. Jadi output kami akan diskalakan secara menegak. Walau bagaimanapun, memandangkan kami juga memberikan nilai palsu kepada sifat withoutTransform, imej output akhir kami masih akan mengandungi sifat scaleY.
<!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>Using the withoutTransform property and passing it a false value</h2> <p>You can open console from dev tools and see the output URL. You can copy that and paste it in the address bar of a new tab to see that the final image contains vertical scaling </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 shadow object var shadow = new fabric.Shadow({ blur: 25, color: "grey", offsetX: 12, offsetY: 15, }); // Initiate an itext object var itext = new fabric.IText( "Add sample text here.Lorem ipsum dolor sit amet consectetur adipiscing.",{ width: 300, left: 60, top: 70, fill: "#c70039", backgroundColor: "#c1dfed", stroke: "#c70039", originX: "center", shadow: shadow, scaleY: 2, } ); // Add it to the canvas canvas.add(itext); // Using the toDataURL method console.log( itext.toDataURL({ withoutTransform: false }) ); </script> </body> </html>
Gunakan atribut withoutTransform dan berikannya nilai sebenar
Mari kita lihat contoh kod untuk melihat rupa imej output akhir objek IText apabila menggunakan sifat withoutTransform dan menghantar nilai sebenar kepadanya. Dalam kes ini, imej keluaran akhir kami tidak akan mengandungi sebarang transformasi objek.
<!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>Using the withoutTransform property and passing it a true value</h2> <p>You can open console from dev tools and see the output URL. You can copy that and paste it in the address bar of a new tab to see that the final image does not contain vertical scaling </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 shadow object var shadow = new fabric.Shadow({ blur: 25, color: "grey", offsetX: 12, offsetY: 15, }); // Initiate an itext object var itext = new fabric.IText( "Add sample text here.Lorem ipsum dolor sit amet consectetur adipiscing.",{ width: 300, left: 60, top: 70, fill: "#c70039", backgroundColor: "#c1dfed", stroke: "#c70039", originX: "center", shadow: shadow, scaleY: 2, } ); // Add it to the canvas canvas.add(itext); // Using the toDataURL method with withoutTransform console.log( itext.toDataURL({ withoutTransform: true }) ); </script> </body> </html>
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar objek semasa dari rentetan URL objek IText menggunakan FabricJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!