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

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

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

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

ऐफ़ाइन ट्रांसफ़ॉर्म की मदद से रेंडर किए गए आकार का डायग्राम

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

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

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

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

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

अफ़ाइन ट्रांसफ़ॉर्म मैट्रिक्स

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

A=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001]

ट्रांसफ़ॉर्म में इस्तेमाल किए जाने वाले पैरामीटर ये हैं:

translate_x ट्रांसलेट पैरामीटर, पेज के ऊपरी बाएं कोने के हिसाब से, पेज एलिमेंट के ऊपरी बाएं कोने की (X,Y) पोज़िशन बताते हैं. आपके पास पॉइंट (pt) या अंग्रेज़ी मेट्रिक यूनिट (EMU) की इकाइयों का इस्तेमाल करके, रिलेटिव पोज़िशन तय करने का विकल्प होता है.
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

यह इस तरह दिखेगा:

[xy1]=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001][xy1]

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

x=(scale_x×x)+(shear_x×y)+translate_xy=(scale_y×y)+(shear_y×x)+translate_y

सीमा की गिनती करना

काट-छांट और स्केल करने वाले ट्रांसफ़ॉर्म के बाद, किसी एलिमेंट के बाउंडिंग बॉक्स के रेंडर किए गए साइज़ का पता लगाने के लिए, इनका इस्तेमाल करें:

width=(scale_x×width)+(shear_x×height)height=(scale_y×height)+(shear_y×width)

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

सीमाएं

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

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

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

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