Google Slaytlar API'si, bir görselin konumunu, boyutunu ve yönünü
PageElement
(metin kutuları, resimler, tablolar ve temel şekiller) kullanırken satırlarınız aynı kalırken
noktaları ve paralel çizgileri korur. Bunlar afin olarak bilinir.
dönüşümleri hakkında daha fazla bilgi edinin. Buradaki örneklerde, bazı yaygın sayfa öğesi dönüşümleri
işlemleri
presentations.batchUpdate
yöntemidir.
Bu örneklerde aşağıdaki değişkenler kullanılmaktadır:
- PRESENTATION_ID: sunum Kimlik. Şunları yapabilirsiniz: bu kimliğin değerini sununun URL'sinden bulun.
- PAGE_ID - Sayfa nesnesini sağladığınız yeri belirtir Kimlik. Şu bilgileri alabilirsiniz: değerini URL'den veya bir API okuma isteği kullanarak girin.
- PAGE_ELEMENT_ID - Sayfayı sağladığınız yeri belirtir. öğe nesne kimliğini kaldırın. Siz oluşturduğunuz öğeler için bu kimliği belirtebilir (belirli bir kısıtlamalar) uymanız gerekir. veya Slides API'nin otomatik olarak kod oluşturmasına izin verin. Öğe Kimlikleri API okuma isteği aracılığıyla alınabilir.
Bu örnekler, dilden bağımsız olarak HTTP istekleri olarak sunulur. Öğrenmek için Google API kullanılarak farklı dillerde toplu güncelleme uygulama Şekil ekleme ve metin.
Ok şekli örneği
Aşağıdaki örnekler için örnek bir ok şekli sayfası olduğunu varsayalım
öğesi (
presentations.pages.get
yöntem isteği) için geçerlidir. Örnek şeklindeki şekil,
unit
EMU (İngilizce Metrik Birimi) ve pt
(punto) değerini alır.
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 0.3, "scaleY": 0.12, "shearX": 0, "shearY": 0, "translateX": 2000000, "translateY": 550000, "unit": "EMU" }, "shape": { "shapeType": "RIGHT_ARROW" } }
Bir öğeyi başka bir öğeyle hizalama
Aşağıdakiler
presentations.batchUpdate
kod örneği,
CreateShapeRequest
yöntemini kullanarak, resim, konum ve zaman çizelgesiyle hizalanan doğru konumlarda yeni şekiller
örnek ok şeklini kullanın. Her iki durumda da X ve Y
yeni şeklin sol üst köşesinin koordinatları hesaplanmalıdır.
İlk istek, sola hizalanan 100x50 pt dikdörtgen oluşturur ok şeklinin kenarlığı, ancak 50 pt (50 * 12.700 = 635.000 EMU) konumlandırılmıştır tıklayın. Yeni dikdörtgenin X koordinatı sol kenarlığını hizalaması için okun X koordinatıyla aynı işlevi görür. Y koordinatı, okun Y koordinatı artı 50 punto ile aynıdır, çünkü mesafe, okun üstünden ölçülür. Dikdörtgenin koordinatları bu nedenle:
x" = 2000000 EMU y" = 550000 + (50 * 12700) = 1185000 EMU
İkinci istek, aynı yatay daireye sahip 40 pt geniş bir daire oluşturuyor merkez çizgisi örnek ok olarak gösterilir, ancak 100 pt (1.270.000 EMU) sağ kenarının sağına dokunun. Çemberin X koordinatı, dairenin X koordinatı okun X koordinatı, ok genişliği ve 100 pt. Orta çizgiyi zorlama için, yeni dairenin hizalanmasında, her iki dairenin de yüksekliğini ok ve daire. Çemberin Y koordinatı, okun Y koordinatıdır artı yarım ok yüksekliği ve daire yüksekliğinin yarısı. Her iki durumda da, ok ile ilişkili ölçeklendirme faktörlerini de hesaba katmak gerekir, çünkü okun oluşturulan genişliğini ve yüksekliğini etkiler. Çevrenin Dolayısıyla koordinatlar şunlardır:
x = 2000000 + (0.3 * 3000000) + (100 * 12700) = 4170000 EMU y = 550000 + (0.5 * 0.12 * 3000000) - (0.5 * 40 * 12700) = 476000 EMU
Aşağıda, bir öğeyi diğeriyle hizalamak için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "shapeType": "RECTANGLE", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 100, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000, "translateY": 1185000, "unit": "EMU" } } } }, { "createShape": { "shapeType": "ELLIPSE", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 40, "unit": "PT" }, "height": { "magnitude": 40, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4170000, "translateY": 476000, "unit": "EMU" } } } } ] }
Öğeleri taşıma
Aşağıdakiler
presentations.batchUpdate
kod örneği,
UpdatePageElementTransformRequest
örnek ok şekli sayfa öğesini çevirmek için kullanılan yöntem
iki yolu vardır.
Gruptaki ilk istek, oku (X,Y) = (2000000, 150000) öğesine taşır
EMU koordinatı (mutlak çeviri kullanılır)
applyMode
) seçin.
Gruptaki ikinci istek, oku oradan hareket ettiriyor. Bu sefer 40.000 EMU
sağa ve yukarı doğru 35.000 EMU'dur (göreceli bir çeviri applyMode
kullanarak).
Kullanılan convertation1 matrisleri
Böylece, öğenin boyutu ve yönünün değiştirilmesi önlenir.
Her iki istek de yürütüldükten sonra okun sol üst köşesi (X,Y) noktasında kalır. = (2040000, 115000) EMU koordinatı.
Aşağıda, bir öğeyi taşımak için kullanılacak istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "ABSOLUTE", "transform": { "scaleX": 0.3, "scaleY": 0.12, "translateX": 2000000, "translateY": 150000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 40000, "translateY": -35000, "unit": "EMU" } } } ] }
Bir elementi yansıtın
Aşağıdakiler
presentations.batchUpdate
kod örneği,
UpdatePageElementTransformRequest
örnek ok şekli sayfa öğesini yansıtma yöntemi
sayfadaki konumunu değiştirmeden veya ortası boyunca yatay
yardımcı olur.
Bu, fonksiyonlar için temel yansıma
dönüşümünün referansta
çerçeve. Daha net ifadelerle
referans kare kayması ve yansıması,
UpdatePageElementTransformRequest
yöntemi,
Ancak bu dönüşüm sonucunda ortaya çıkacak ürünleri önceden hesaplamak,
ve ardından bu çarpımı tek bir istek olarak uygular.
Çeviri dönüşümleri için ok şeklinin merkezi başlangıç noktasına doğru veya orijinden taşınır. Parametre değerleri netlik için hesaplamalar olarak ifade edilir.
Aşağıda, bir öğeyi yansıtan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": -1, "scaleY": 1, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }
Öğeleri yeniden boyutlandırma
Aşağıdakiler
presentations.batchUpdate
kod örneği,
UpdatePageElementTransformRequest
örnek ok şekli sayfa öğesini %50 olacak şekilde ölçeklendirme yöntemi
daha geniş ve mevcut yüksekliğinin yalnızca% 80'ine sahip, okun ortasını koruyarak
aynı konumda tutmak ve yönünü korumak önemlidir.
Bu, fonksiyonlar için temel ölçeklendirme
dönüşümünün referansta
çerçeve. Daha net ifadelerle
referans kare kayması ve ölçeklendirmesi,
UpdatePageElementTransformRequest
yöntemi,
Ancak bu dönüşüm sonucunda ortaya çıkacak ürünleri önceden hesaplamak,
ve ardından bu çarpımı tek bir istek olarak uygular.
Çeviri dönüşümleri için ok şeklinin merkezi başlangıç noktasına doğru veya orijinden taşınır. Parametre değerleri netlik için hesaplamalar olarak ifade edilir.
Aşağıda, bir öğeyi yeniden boyutlandırmak için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1.5, "scaleY": 0.8, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }
Bir öğeyi merkezi etrafında döndürme
Aşağıdakiler
presentations.batchUpdate
kod örneği,
UpdatePageElementTransformRequest
örnek ok şekli sayfa öğesini döndürme yöntemi 35
derece, saat yönünün tersine, okun merkezini aynı konumda tutarken
boyutunu korumak yer alıyor.
Bu, bir temel rotasyon uygulama
dönüşümünün referansta
çerçeve. Daha net ifadelerle
referans kare kayması ve döndürmesi,
UpdatePageElementTransformRequest
yöntemi,
Ancak bu dönüşüm sonucunda ortaya çıkacak ürünleri önceden hesaplamak,
yapıp bu sonucu tek bir istek olarak uygular.
Çeviri dönüşümleri için ok şeklinin merkezi başlangıç noktasına doğru veya orijinden taşınır. Parametre değerleri netlik için hesaplamalar olarak ifade edilir.
Aşağıda, bir öğeyi merkezi etrafında döndürmek için kullanılan istek protokolü verilmiştir:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": cos(35 * (pi/180)), "scaleY": cos(35 * (pi/180)), "shearX": sin(35 * (pi/180)), "shearY": -sin(35 * (pi/180)), "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }