این راهنما مفاهیم اساسی مورد استفاده در تبدیل عناصر صفحه (یعنی جابجایی، چرخش، مقیاسبندی و برش) را توصیف میکند، به ویژه بر روی تبدیل افین زیرین و عملیات آن تمرکز دارد.
برای اطلاعات بیشتر در مورد نحوه استفاده از تبدیل های افین برای دستیابی به نتایج خاص، راهنمای اندازه و موقعیت شکل ها را ببینید.
اندازه بصری و موقعیت یک عنصر صفحه توسط دو ویژگی کنترل می شود: اندازه و تبدیل . اندازه، اندازه ایده آل یا داخلی عنصر صفحه در حال ایجاد را توصیف می کند. تبدیل یک ماتریس تبدیل آفین دو بعدی را مشخص می کند که مشخص می کند چگونه یک شی در اندازه داخلی خود تبدیل می شود تا به ظاهر بصری نهایی آن منجر شود.
هنگامی که یک عنصر صفحه را در رابط کاربری اسلایدها انتخاب می کنید و اندازه بصری آن را با استفاده از دسته های تنظیم تغییر می دهید، در واقع این ماتریس تبدیل را به روز می کنید. حرکت عنصر در سراسر صفحه یا چرخاندن آن همچنین ماتریس تبدیل عنصر را به روز می کند.
برای شروع از رابط کاربری اسلایدها استفاده کنید
محاسبات ماتریسی که برای تبدیل و تغییر اندازه عناصر صفحه استفاده می کنید بسیار قدرتمند است، اما در ابتدا می تواند دلهره آور باشد. بیشتر این صفحه این محاسبات را شرح می دهد. با این حال، می توانید مشخصات تبدیل ها و اندازه ها را با استفاده از روش زیر ساده کنید:
- عناصر صفحه را با استفاده از رابط کاربری اسلایدها ایجاد کنید.
- با استفاده از رابط کاربری اسلایدها، این عناصر صفحه را به دلخواه تغییر دهید.
- اندازه و تبدیل آن عناصر را با استفاده از روش get بخوانید.
این می تواند برای شروع کافی باشد. بقیه این راهنما محاسبات تبدیل را توضیح می دهد که می توانید از آنها برای دستکاری عناصر صفحه با جزئیات استفاده کنید.
ماتریس های تبدیل افین
ماتریسهای تبدیل افین دو بعدی معمولاً توسط کتابخانههای گرافیکی برای کنترل مقیاس، چرخش، برش، بازتاب و ترجمه عناصر استفاده میشوند. در Slides API، تبدیل عنصر صفحه به عنوان یک ماتریس 3x3 نشان داده می شود:
پارامترهای مورد استفاده در تبدیل عبارتند از:
translate_x | پارامترهای translate موقعیت (X,Y) گوشه سمت چپ بالای عنصر صفحه را نسبت به گوشه سمت چپ بالای صفحه مشخص می کنند. موقعیت نسبی را با استفاده از واحدهای نقاط (pt) یا واحدهای متریک انگلیسی (EMU) مشخص میکنید. |
translate_y | |
scale_x | پارامترهای مقیاس میزان بزرگی عنصر صفحه را هنگام رندر کردن کنترل می کنند. اینها عوامل ضرب بدون واحد هستند. به عنوان مثال، مقدار scale_x 1.5 عرض عنصر را 50% بزرگ می کند. |
scale_y | |
shear_x | پارامترهای برشی نیز بدون واحد هستند و شیب یک عنصر صفحه را کنترل می کنند. پارامترهای مقیاس و برش را می توان با هم برای چرخاندن یک عنصر صفحه استفاده کرد. |
shear_y |
میتوانید نمونههای زیادی را در وب بیابید که نشان میدهد چگونه ماتریسهای تبدیل دوبعدی بر رندر اشیاء گرافیکی تأثیر میگذارند.
ماتریس تبدیل نسبت به گروه یا صفحه حاوی عنصر است. برای مثال، اگر گروهی را بچرخانید که شامل یک مستطیل است، مقادیر فیلد transform
گروه چرخش را منعکس میکند، اما مقادیر فیلد transform
مستطیل اینطور نیست.
محاسبه اندازه بصری
برای تعیین اندازه بصری ( رندر شده ) یک عنصر صفحه، باید هر دو ویژگی اندازه و تبدیل را با هم در نظر بگیرید. شما نمی توانید تعیین کنید کدام یک از دو عنصر صفحه از نظر بصری بزرگتر است فقط با مقایسه ویژگی های اندازه آنها: باید مرزهای عنصر را با استفاده از ماتریس تبدیل ترسیم کنید و اندازه رندر شده را محاسبه کنید.
نقشه برداری یک نقطه
برای ترسیم یک نقطه خاص با استفاده از ماتریس تبدیل، نقطه (x,y) را به بردار [x,y,1] تبدیل کنید و سپس ضرب ماتریس را انجام دهید. نگاشت یک نقطه p را در نظر بگیرید:
\[p' = Ap\]
این می شود:
بنابراین مختصات نقطه جدید p' عبارتند از:
محاسبه مرز
برای تعیین اندازه رندر شده جعبه مرزی یک عنصر پس از تبدیلی که برش داده و مقیاس می شود، از موارد زیر استفاده کنید:
برای اطلاعات بیشتر در مورد نحوه استفاده از تبدیل های افین برای دستیابی به نتایج خاص، راهنمای اندازه و موقعیت شکل ها را ببینید.
محدودیت ها
برخی از فیلدهای اندازه و موقعیت یابی با برخی از انواع عناصر صفحه ناسازگار هستند. جدول زیر سازگاری برخی از عناصر صفحه با فیلدهای اندازه و موقعیت را به طور خلاصه نشان می دهد.
میدان | شکل | ویدیو | جدول |
---|---|---|---|
ترجمه | ✔ | ✔ | ✔ |
مقیاس | ✔ | ✔ | نه ** |
برش | ✔ | خیر | خیر |
** برای بهروزرسانی ابعاد ردیف و ستون جدول، از UpdateTableRowPropertiesRequest
و UpdateTableColumnPropertiesRequest
استفاده کنید.
اگر عنصر صفحه دارای برش باشد، همه فیلدهای اندازه و موقعیت ممکن است نتایج غیرمنتظره ای به همراه داشته باشند. همه محدودیت ها در معرض تغییر هستند. برای اطلاعات بهروز، Google Slides API را ببینید.