ट्रांसफ़ॉर्म और पेज के एलिमेंट

इस गाइड में, पेज एलिमेंट को बदलने (जैसे, मूविंग, रोटेटिंग, स्केलिंग, और शीयरिंग) में इस्तेमाल किए जाने वाले कॉन्सेप्ट के बारे में बताया गया है. इसमें खास तौर पर, एफ़ाइन ट्रांसफ़ॉर्म और इससे जुड़ी कार्रवाइयों पर फ़ोकस किया गया है.

खास नतीजे पाने के लिए, 'अफ़िलिएट ट्रांसफ़ॉर्म' सुविधा का इस्तेमाल कैसे करें, इस बारे में ज़्यादा जानने के लिए, साइज़ और पोज़िशन के आकार गाइड देखें.

पेज एलिमेंट के विज़ुअल साइज़ और पोज़िशन को दो प्रॉपर्टी से कंट्रोल किया जाता है: साइज़ और ट्रांसफ़ॉर्म. साइज़, बनाए जा रहे पेज एलिमेंट के आदर्श या पहले से मौजूद साइज़ के बारे में बताता है. ट्रांसफ़ॉर्म, दो डाइमेंशन वाले अफ़िलिएट ट्रांसफ़ॉर्म मैट्रिक्स के बारे में बताता है. इससे पता चलता है कि पहले से मौजूद किसी साइज़ में कोई ऑब्जेक्ट कैसे बदलता है, ताकि वह फ़ाइनल विज़ुअल लुक में दिखे.

संबंधित रूपांतरण से रेंडर की गई आकृति का डायग्राम

जब Slides के यूज़र इंटरफ़ेस (यूआई) में कोई पेज एलिमेंट चुना जाता है और अडजस्टमेंट हैंडल का इस्तेमाल करके इसके विज़ुअल साइज़ को बदला जाता है, तो इसका मतलब है कि असल में इस ट्रांसफ़ॉर्म मैट्रिक्स को अपडेट किया जा रहा है. एलिमेंट को पेज पर मूव करने या उसे घुमाने पर, एलिमेंट का ट्रांसफ़ॉर्म मैट्रिक्स भी अपडेट हो जाता है.

शुरू करने के लिए, Slides के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना

पेज के एलिमेंट को बदलने और साइज़ बदलने के लिए इस्तेमाल किया जाने वाला मैट्रिक्स अंकगणित बहुत बहुत असरदार है, लेकिन शुरुआत में मुश्किल हो सकता है; इस पेज का ज़्यादातर हिस्सा इन कैलकुलेशन के बारे में बताता है. हालांकि, इस तरीके का इस्तेमाल करके ट्रांसफ़ॉर्मेशन और साइज़ की खासियत को आसान बनाया जा सकता है:

  1. Slides के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके पेज एलिमेंट बनाएं.
  2. स्लाइड के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करते हुए भी, पेज के इन एलिमेंट को ज़रूरत के मुताबिक स्केल करें.
  3. get तरीके का इस्तेमाल करके, एलिमेंट के साइज़ को पढ़ें और उन्हें पूरी तरह बदलें.

इस सुविधा को शुरू करने के लिए यह काफ़ी हो सकता है. इस गाइड के बाकी हिस्से में, कन्वर्ज़न से जुड़े उन कैलकुलेशन के बारे में बताया गया है जिनका इस्तेमाल करके, पेज के एलिमेंट में पूरी जानकारी के साथ छेड़छाड़ की जा सकती है.

अफ़िन रूपांतरण आव्यूहों का रूपांतरण

आम तौर पर, ग्राफ़िक लाइब्रेरी में दो डाइमेंशन वाले एफ़िन ट्रांसफ़ॉर्म मेट्रिक का इस्तेमाल, एलिमेंट के स्केल, रोटेशन, शीयर, रिफ़्लेक्शन, और अनुवाद को कंट्रोल करने के लिए किया जाता है. Slides API में, पेज एलिमेंट के ट्रांसफ़ॉर्म को 3x3 वाले मैट्रिक्स के तौर पर दिखाया जाता है:

$$A=\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix}$$

ट्रांसफ़ॉर्म में इस्तेमाल किए गए पैरामीटर:

translate_x अनुवाद करने के पैरामीटर, पेज एलिमेंट के ऊपर बाएं कोने में (X,Y) की जगह बताते हैं. यह पोज़िशन, पेज के ऊपरी बाएं कोने में होती है. दोनों में से किसी एक पॉइंट (pt) या अंग्रेज़ी मेट्रिक यूनिट (ईएमयू) की यूनिट का इस्तेमाल करके, रिलेटिव पोज़िशन तय करें.
translate_y
scale_x स्केल पैरामीटर से यह कंट्रोल होता है कि रेंडर किए जाने पर पेज एलिमेंट कितना बड़ा है. ये बिना इकाई वाले गुणा करने वाले फ़ैक्टर हैं. उदाहरण के लिए, scale_x की वैल्यू 1.5 होने पर, एलिमेंट की चौड़ाई 50% बढ़ जाती है.
scale_y
shear_x शीयर पैरामीटर भी यूनिटलेस होते हैं और ये पेज एलिमेंट के झुकाव को कंट्रोल करते हैं. पेज एलिमेंट को घुमाने के लिए, स्केल और शीयर पैरामीटर का एक साथ इस्तेमाल किया जा सकता है.
shear_y

आपको वेब पर ऐसे कई उदाहरण मिल सकते हैं जिनमें यह दिखाया गया है कि 2-D ट्रांसफ़ॉर्मेशन मैट्रिक्स, ग्राफ़िकल ऑब्जेक्ट रेंडरिंग पर कैसे असर डालते हैं.

ट्रांसफ़ॉर्म मैट्रिक्स, एलिमेंट के शामिल ग्रुप या पेज से जुड़ा होता है. उदाहरण के लिए, अगर रेक्टैंगल वाले किसी ग्रुप को घुमाया जाता है, तो ग्रुप की transform फ़ील्ड की वैल्यू, रोटेशन को दिखाती हैं, लेकिन रेक्टैंगल की transform फ़ील्ड वैल्यू में ऐसा नहीं होता.

विज़ुअल साइज़ कैलकुलेट किया जा रहा है

पेज एलिमेंट का विज़ुअल (रेंडर किया गया) साइज़ तय करने के लिए, आपको साइज़ और ट्रांसफ़ॉर्म प्रॉपर्टी, दोनों को एक साथ देखना होगा. साइज़ की प्रॉपर्टी की तुलना करके, यह पता नहीं लगाया जा सकता कि पेज के किन दो एलिमेंट में से कौनसा एलिमेंट विज़ुअल तौर पर बड़ा है: आपको ट्रांसफ़ॉर्म मैट्रिक्स का इस्तेमाल करके एलिमेंट की सीमाओं को मैप करना होगा और रेंडर किए गए साइज़ का पता लगाना होगा.

किसी बिंदु को मैप करना

ट्रांसफ़ॉर्म मैट्रिक्स का इस्तेमाल करके किसी पॉइंट को मैप करने के लिए, पॉइंट (x, y) को वेक्टर [x, y, 1] में बदलें और फिर मैट्रिक्स का गुणा करें. पॉइंट p को मैप करने पर विचार करें:

\[p' = Ap\]

इससे:

$$\begin{bmatrix} x'\\ y'\\ 1 \end{bmatrix} =\begin{bmatrix} scale\_x & shear\_x & translate\_x\\ shear\_y & scale\_y & translate\_y\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix}$$

इसलिए, नए बिंदु p' के निर्देशांक हैं:

$$x' = (scale\_x \times x) + (shear\_x \times y) + translate\_x\\ y' = (scale\_y \times y) + (shear\_y \times x) + translate\_y$$

सीमा का हिसाब लगाया जा रहा है

कैंची और स्केल को बदलने के बाद, एलिमेंट के बाउंडिंग बॉक्स का रेंडर किया गया साइज़ तय करने के लिए, इनका इस्तेमाल करें:

$$width' = (scale\_x \times width) + (shear\_x \times height)\\ height' = (scale\_y \times height) + (shear\_y \times width)$$

खास नतीजे पाने के लिए, 'अफ़िलिएट ट्रांसफ़ॉर्म' सुविधा का इस्तेमाल कैसे करें, इस बारे में ज़्यादा जानने के लिए, साइज़ और पोज़िशन के आकार गाइड देखें.

सीमाएं

कुछ साइज़ और पोज़िशन तय करने वाले फ़ील्ड, पेज के कुछ खास तरह के एलिमेंट के साथ काम नहीं करते हैं. नीचे दी गई टेबल में, साइज़ और पोज़िशनिंग फ़ील्ड के साथ पेज के कुछ एलिमेंट के साथ काम करने के बारे में खास जानकारी दी गई है.

फ़ील्ड आकार वीडियो टेबल
Translation
स्केल नहीं**
शीयर नहीं नहीं

** टेबल की पंक्ति और कॉलम के डाइमेंशन अपडेट करने के लिए, UpdateTableRowPropertiesRequest और UpdateTableColumnPropertiesRequest का इस्तेमाल करें.

अगर पेज एलिमेंट में कटाई की गई है, तो साइज़ और पोज़िशन तय करने वाले सभी फ़ील्ड से अनचाहे नतीजे मिल सकते हैं. सभी सीमाओं में बदलाव हो सकता है. अप-टू-डेट जानकारी के लिए, Google Slides API देखें.