روش setTransform() کانواس HTML
تعریف و استفاده
هر شیء روی کانواس دارای یک ماتریس تغییرات فعلی است.
setTransform()
این روش ماتریس تغییرات فعلی را به ماتریس یکتا تنظیم کرده و سپس با همان پارامترها اجرا میکند transform().
به عبارت دیگر، setTransform() به شما اجازه میدهد تا محیط فعلی را بزرگتر یا کوچکتر کنید، بچرخانید، حرکت دهید و کج کنید.
نکته:این تغییرات فقط روی نقاشیهایی که پس از فراخوانی setTransform() انجام میشوند، تأثیر میگذارند.
مثال
یک مستطیل بکشید، از setTransform() برای تنظیم مجدد و ایجاد ماتریس تغییرات جدید استفاده کنید، مستطیل را دوباره بکشید، تنظیم مجدد و ایجاد ماتریس تغییرات جدید کنید، سپس مستطیل را دوباره بکشید. توجه داشته باشید که هر بار که setTransform() فراخوانی میشود، ماتریس تغییرات قبلی را تنظیم مجدد کرده و ماتریس جدیدی ایجاد میکند، بنابراین در مثال زیر، مستطیل قرمز نمایش داده نمیشود زیرا زیر مستطیل آبی قرار دارد:
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="yellow"; ctx.fillRect(0,0,250,100) ctx.setTransform(1,0.5,-0.5,1,30,10); ctx.fillStyle="red"; ctx.fillRect(0,0,250,100); ctx.setTransform(1,0.5,-0.5,1,30,10); ctx.fillStyle="blue"; ctx.fillRect(0,0,250,100);
منطق
context.setTransform(a,b,c,d,e,f);
مقدار پارامتر
پارامتر | توضیح |
---|---|
a | چرخش تصویر افقی |
b | تغییر شیب تصویر افقی |
c | تغییر شیب تصویر عمودی |
d | تغییر اندازه تصویر عمودی |
e | چیدن تصویر افقی |
f | چیدن تصویر عمودی |
پشتیبانی مرورگر
اعداد در جدول نشاندهنده نسخههای اولین مرورگری هستند که این ویژگی را به طور کامل پشتیبانی میکنند.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
نکته:نسخههای 8 اینترنت اکسپلورر و قدیمیتر از عناصر <canvas> پشتیبانی نمیکنند.