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

जैसा कि इस इमेज में दिखाया गया है, जब किसी रेंडर किए गए पेज एलिमेंट को घुमाया नहीं जाता है, तब उसके साइज़ और पोज़िशन को उसके बाउंडिंग बॉक्स के हिसाब से मेज़र किया जाता है:
- बाईं ओर और सबसे ऊपर: पेज के सबसे ऊपर बाएं कोने से लेकर, बिना घुमाए गए बाउंडिंग बॉक्स के सबसे ऊपर बाएं कोने तक मेज़र किया जाता है. वैल्यू पढ़ने के लिए,
getLeft()औरgetTop()का इस्तेमाल करें. - चौड़ाई और ऊंचाई: बिना घुमाए गए बाउंडिंग बॉक्स की चौड़ाई और ऊंचाई.
वैल्यू पढ़ने के लिए,
getWidth()औरgetHeight()का इस्तेमाल करें. - घुमाव: बाउंडिंग बॉक्स के बीच में मौजूद वर्टिकल लाइन के हिसाब से, घड़ी की दिशा में घुमाव. वैल्यू को पढ़ने के लिए,
getRotation()का इस्तेमाल करें.
सभी लंबाई को पॉइंट (पीटी) में मापा जाता है. रोटेशन को डिग्री (°) में मापा जाता है.
पेज एलिमेंट की प्रॉपर्टी सेट करना
insertShape() जैसे इंसर्ट करने के किसी तरीके का इस्तेमाल करके, पेज एलिमेंट बनाते समय उसका साइज़ और पोज़िशन सेट करें. किसी मौजूदा शेप के लिए, साइज़, पोज़िशन, और रोटेशन सेट किया जा सकता है. इसके अलावा, किसी एलिमेंट का साइज़ बदलने या उसे उसके किसी एक किनारे पर दिखाने के लिए, एलिमेंट की स्केलिंग भी सेट की जा सकती है.
क्रिएट करते समय
पेज एलिमेंट बनाते समय, उसकी पोज़िशन और साइज़ की जानकारी दें.
var slide = SlidesApp.getActivePresentation().getSlides()[0];
var shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 100, 200, 300, 60);
Logger.log('Left: ' + shape.getLeft() + 'pt; Top: '
+ shape.getTop() + 'pt; Width: '
+ shape.getWidth() + 'pt; Height: '
+ shape.getHeight() + 'pt; Rotation: '
+ shape.getRotation() + ' degrees.');
ऊपर दी गई स्क्रिप्ट, चालू प्रज़ेंटेशन की पहली स्लाइड पर, तय की गई पोज़िशन और साइज़ का एक शेप बनाती है. साथ ही, शेप की पोज़िशन और साइज़ की जानकारी को पढ़ती है. अनुमानित लॉग यह है:
Left: 100pt; Top: 200pt; Width: 300pt; Height: 60pt; Rotation: 0 degrees.
साइज़, पोज़िशन, और घुमाव
पेज एलिमेंट बनाने के बाद, उसके साइज़ और पोज़िशन में बदलाव करने के लिए:
setLeft()औरsetTop()का इस्तेमाल करके, बिना घुमाए गए बाउंडिंग बॉक्स के ऊपरी बाएं कोने की पोज़िशन सेट करें.- बाउंडिंग बॉक्स की रेंडर की गई चौड़ाई और ऊंचाई सेट करने के लिए,
setWidth()औरsetHeight()का इस्तेमाल करें. setRotation()का इस्तेमाल करके, बाउंडिंग बॉक्स को उसके सेंटर के चारों ओर घड़ी की सुई की दिशा में घुमाएं.
नीचे दी गई स्क्रिप्ट, चालू प्रज़ेंटेशन की पहली स्लाइड पर एक शेप बनाती है. साथ ही, सेटर का इस्तेमाल करके उसकी जगह, साइज़, और रोटेशन को अपडेट करती है. इसके अलावा, यह शेप की जगह और साइज़ की जानकारी को पढ़ती है.
var slide = SlidesApp.getActivePresentation().getSlides()[0];
var shape = slide.insertShape(SlidesApp.ShapeType.RECTANGLE);
shape.setLeft(100).setTop(200).setWidth(50).setHeight(60).setRotation(90);
Logger.log('Left: ' + shape.getLeft()
+ 'pt; Top: ' + shape.getTop()
+ 'pt; Width: ' + shape.getWidth()
+ 'pt; Height: ' + shape.getHeight()
+ 'pt; Rotation: ' + shape.getRotation() + '\u00B0.');
अनुमानित लॉग यह है:
Left: 100pt; Top: 200pt; Width: 50pt; Height: 60pt; Rotation: 90°.
साइज़, पोज़िशन, और रोटेशन सेट करने वाले टूल का इस्तेमाल किसी भी क्रम में या एक साथ किया जा सकता है. ऊपर दी गई स्क्रिप्ट की तीसरी लाइन को इस स्क्रिप्ट से बदलने पर भी वही नतीजा मिलता है:
shape.setWidth(55);
shape.setRotation(90).setHeight(60).setLeft(100);
shape.setWidth(50).setTop(200);
पेज एलिमेंट को स्केल करना
शेप के साइज़ को किसी तय वैल्यू पर सेट करने के लिए, setWidth() और setHeight() का इस्तेमाल करने के बजाय, scaleWidth() और scaleHeight() का इस्तेमाल करके, पेज एलिमेंट को स्ट्रेच या छोटा किया जा सकता है. इसके लिए, मिलते-जुलते स्केलिंग फ़ैक्टर का इस्तेमाल किया जाता है.
shape.scaleHeight(0.5).scaleWidth(2);
इस इमेज में दिखाया गया है कि ऊपर दिया गया कोड, 45 डिग्री पर घुमाए गए स्क्वेयर पर कैसे काम करता है. ध्यान दें कि स्केलिंग के दौरान, बाउंडिंग बॉक्स का ऊपरी बायां कोना तय होता है.

पेज एलिमेंट को दिखाना
scaleWidth() और scaleHeight() में मौजूद आर्ग्युमेंट की वैल्यू नेगेटिव हो सकती है, ताकि इनका इस्तेमाल करके किसी पेज एलिमेंट को हॉरिज़ॉन्टल या वर्टिकल तौर पर फ़्लिप किया जा सके.
// Flip horizontally along the left edge of the bounding box.
shape.scaleWidth(-1);
// Flip vertically along the top edge of the bounding box.
shape.scaleHeight(-1);
यहां दिए गए डायग्राम में दिखाया गया है कि ऊपर दिया गया कोड, 45° घुमाए गए आकार पर कैसे काम करता है. ध्यान दें कि पेज एलिमेंट को उसके बाउंडिंग बॉक्स के किसी एक किनारे पर फ़्लिप किया जाता है, लेकिन उसके बीच में नहीं.

लाइन रोटेशन
पेज के अन्य एलिमेंट की तरह, लाइन का रोटेशन भी लाइन का वर्टिकल ऐंगल नहीं होता. यह उसके बाउंडिंग बॉक्स का रोटेशन होता है. शुरू और खत्म होने के पॉइंट तय करके लाइन बनाने पर, उसका रोटेशन हमेशा 0° होता है. Slides के यूज़र इंटरफ़ेस (यूआई) में लाइन के एंडपॉइंट को खींचने से, उसके वर्टिकल ऐंगल के साथ-साथ उसके बाउंडिंग बॉक्स का साइज़ और पोज़िशन बदल जाती है. हालांकि, उसके रोटेशन में कोई बदलाव नहीं होता. setRotation() का इस्तेमाल करने पर, लाइन का बाउंडिंग बॉक्स घूम जाता है. इससे लाइन का वर्टिकल ऐंगल बदल जाता है. इसलिए, दो लाइनों का विज़ुअल वर्टिकल ऐंगल एक जैसा हो सकता है, लेकिन उनके बाउंडिंग बॉक्स अलग-अलग हो सकते हैं. इसलिए, उनके साइज़, पोज़िशन, और रोटेशन की वैल्यू अलग-अलग हो सकती हैं.
सीमाएं
साइज बदलने और जगह बदलने के कुछ तरीके, पेज के कुछ एलिमेंट के साथ काम नहीं करते. यहां दी गई टेबल में, उन तरीकों के बारे में खास जानकारी दी गई है जो कुछ तरह के पेज एलिमेंट के साथ काम नहीं करते.
| तरीके | आकार | वीडियो | तालिका |
|---|---|---|---|
| getHeight(), getWidth() | ✔ | ✔ | नहीं (शून्य दिखाता है) |
| setHeight(), setWidth() | ✔ | ✔ | नहीं |
| setRotation() | ✔ | नहीं | नहीं |
| scaleHeight(), scaleWidth() | ✔ | ✔ | नहीं |
अगर पेज के एलिमेंट में शियरिंग है, तो साइज़िंग और पोज़िशनिंग के सभी तरीकों से अनचाहे नतीजे मिल सकते हैं. इन सभी सीमाओं में बदलाव किया जा सकता है. अप-टू-डेट जानकारी के लिए, रेफ़रंस देखें.
अफ़ाइन ट्रांसफ़ॉर्म का इस्तेमाल करना
बेहतर कंट्रोल के लिए, पेज एलिमेंट के साइज़ और पोज़िशन का हिसाब लगाया जा सकता है. साथ ही, इसके मूल साइज़ और अफ़ाइन ट्रांसफ़ॉर्म के ज़रिए इसमें बदलाव किया जा सकता है.
Google Apps Script, अफ़ाइन ट्रांसफ़ॉर्म का इस्तेमाल करने के लिए, Google Slides API जैसा इंटरफ़ेस उपलब्ध कराता है.
- प्रॉपर्टी पढ़ने के लिए, अफ़ाइन ट्रांसफ़ॉर्म का इस्तेमाल किया जा सकता है. इससे यह पता चलता है कि किसी एलिमेंट को कैसे स्केल किया जाता है, घुमाया जाता है, काटा जाता है, और पोज़िशन किया जाता है. किसी स्लाइड पर किसी एलिमेंट के विज़ुअल साइज़ का हिसाब लगाने के लिए, उसके ट्रांसफ़ॉर्म और इनहेरेंट (नेटिव) साइज़ का इस्तेमाल करने का तरीका जानने के लिए, ट्रांसफ़ॉर्म देखें. Apps Script में, इसका इस्तेमाल करें:
- पेज एलिमेंट के मूल साइज़ के लिए
getInherentWidth()औरgetInherentHeight(); getTransform()का इस्तेमाल, पेज के एलिमेंट के अफ़ाइन ट्रांसफ़ॉर्म के लिए किया जाता है.
- पेज एलिमेंट के मूल साइज़ के लिए
- प्रॉपर्टी बदलने के लिए, अफ़ाइन ट्रांसफ़ॉर्म का इस्तेमाल करके स्केलिंग, रोटेशन, रिफ़्लेक्शन वगैरह किया जा सकता है. अफ़ाइन ट्रांसफ़ॉर्म का इस्तेमाल करके, पेज के एलिमेंट का साइज़ और पोज़िशन बदलने का तरीका जानने के लिए, साइज़ और पोज़िशन बदलना लेख पढ़ें.
Apps Script में, इसका इस्तेमाल करें:
setTransform()का इस्तेमाल करके, पेज एलिमेंट का अफ़ाइन ट्रांसफ़ॉर्म सेट किया जा सकता है. यह ABSOLUTE मोड की तरह ही होता है;preconcatenateTransform()का इस्तेमाल, पेज के एलिमेंट के मौजूदा ट्रांसफ़ॉर्म में एफ़ाइन ट्रांसफ़ॉर्म को पहले से जोड़ने के लिए किया जाता है. यह RELATIVE मोड की तरह ही होता है.
नीचे दी गई स्क्रिप्ट, एक शेप बनाती है, उसके ट्रांसफ़ॉर्म को सेट करती है, उसके मूल साइज़ को पढ़ती है, और उसके अफ़ाइन ट्रांसफ़ॉर्म को पढ़ती है.
var slide = SlidesApp.getActivePresentation().getSlides()[0];
var shape = slide.insertShape(SlidesApp.ShapeType.RECTANGLE);
shape.setTransform(SlidesApp.newAffineTransformBuilder()
.setScaleX(2)
.setScaleY(1)
.setTranslateX(100)
.setTranslateY(200)
.build());
Logger.log('Inherent width: ' + shape.getInherentWidth()
+ 'pt; Inherent height: '
+ shape.getInherentHeight() + 'pt.');
अनुमानित लॉग आउटपुट यह है:
Inherent width: 236.2pt; Inherent height: 236.2pt.
इससे मिलने वाले शेप में यह ट्रांसफ़ॉर्म, रेंडर किया गया साइज़, और पोज़िशन होती है:
AffineTransform{scaleX=2.0, scaleY=1.0, shearX=0.0, shearY=0.0, translateX=100.0, translateY=200.0}
Left: 100pt; Top: 200pt; Width: 472.4pt; Height: 236.2pt; Rotation: 0°.