Dönüşümler ve Sayfa Öğeleri

Bu kılavuzda, sayfa öğelerinin dönüştürülmesinde (yani taşıma, döndürme, ölçeklendirme ve kesme) kullanılan temel kavramlar, özellikle de alttaki afin dönüşüm ve işlemlerine odaklanılarak açıklanmaktadır.

Belirli sonuçlar elde etmek üzere afin dönüşümlerin nasıl kullanılacağı hakkında daha fazla bilgi için Boyut ve Konum Şekilleri kılavuzuna bakın.

Bir sayfa öğesinin görsel boyutu ve konumu iki özellik tarafından kontrol edilir: size ve dönüştür. Boyut, oluşturulan sayfa öğesinin ideal veya yerleşik boyutunu açıklar. Dönüşüm, yerleşik boyutundaki bir nesnenin nihai görsel görünümünü elde etmek için nasıl dönüştürüldüğünü belirten iki boyutlu bir afin dönüşüm matrisi belirtir.

Afin dönüşüm ile oluşturulmuş bir şeklin diyagramı

Slaytlar kullanıcı arayüzünde bir sayfa öğesi seçip ayarlama tutma yerlerini kullanarak görsel boyutunu değiştirdiğinizde bu dönüşüm matrisini güncellemiş olursunuz. Öğe sayfa boyunca taşındığında veya döndürüldüğünde de öğenin dönüşüm matrisi güncellenir.

Başlamak için Slaytlar kullanıcı arayüzünü kullanma

Sayfa öğelerini dönüştürmek ve yeniden boyutlandırmak için kullandığınız matris aritmetiği çok güçlüdür, ancak ilk başta gözünüzü korkutabilir; bu sayfanın büyük kısmında bu hesaplamalar açıklanmaktadır. Bununla birlikte, aşağıdaki yaklaşımı kullanarak dönüşümlerin ve boyutların spesifikasyonunu basitleştirebilirsiniz:

  1. Slaytlar kullanıcı arayüzünü kullanarak sayfa öğeleri oluşturun.
  2. Slaytlar kullanıcı arayüzünü kullanmaya devam ederek bu sayfa öğelerini istediğiniz gibi ölçeklendirin.
  3. Get yöntemini kullanarak bu öğelerin boyutunu ve dönüşümünü okuyun.

Bu, başlamanıza yardımcı olabilir. Bu kılavuzun geri kalanında, sayfa öğelerini düzenlemek için kullanabileceğiniz dönüşüm hesaplamaları ayrıntılı olarak açıklanmaktadır.

Afin dönüşüm matrisleri

İki boyutlu afin dönüşüm matrisleri, öğelerin ölçeğini, dönmesini, kesmesini, yansımasını ve hareketini kontrol etmek için grafik kitaplıkları tarafından yaygın olarak kullanılır. Slaytlar API'de bir sayfa öğesinin dönüşümü 3x3 boyutunda bir matris olarak temsil edilir:

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

Dönüşümde kullanılan parametreler şunlardır:

translate_x Çeviri parametreleri,sayfa öğesinin sol üst köşesinin (X, Y) konumunu sayfanın sol üst köşesine göre belirtir. Göreli konumu, puanın (pt) veya İngiliz metrik biriminin (EMU) Birimlerini kullanarak belirtirsiniz.
translate_y
scale_x Ölçek parametreleri, bir sayfa öğesinin oluşturulduğunda ne kadar büyük olacağını kontrol eder. Bunlar birimsiz çarpma faktörleridir.Örneğin, scale_x değerinin 1,5 olması öğenin genişliğini %50 artırır.
scale_y
shear_x Kesme parametreleri de birimsizdir ve sayfa öğesinin eğimini kontrol eder. Ölçek ve kesme parametreleri, bir sayfa öğesini döndürmek için birlikte kullanılabilir.
shear_y

Web'de 2D dönüşüm matrislerinin grafik nesnelerin oluşturulması üzerindeki etkisini gösteren birçok örnek bulabilirsiniz.

Dönüşüm matrisi, öğenin içeren grubu veya sayfasına göre belirlenir. Örneğin, dikdörtgen içeren bir grubu döndürürseniz grubun transform alanı değerleri döndürmeyi yansıtırken dikdörtgenin transform alanı değerleri yansıtılmaz.

Görsel boyut hesaplanıyor

Bir sayfa öğesinin görsel (oluşturulan) boyutunu belirlemek için hem boyutu hem de dönüşüm özelliklerini birlikte göz önünde bulundurmanız gerekir. İki sayfa öğesinden hangisinin boyut özelliklerini karşılaştırarak görsel olarak daha büyük olduğunu belirleyemezsiniz: Dönüşüm matrisini kullanarak öğenin sınırlarını eşlemeniz ve oluşturulan bir boyutu hesaplamanız gerekir.

Bir noktanın haritasını çıkarma

Dönüşüm matrisini kullanarak belirli bir noktayı eşlemek için, noktayı (x, y) bir vektöre [x, y, 1] dönüştürün ve ardından matris çarpımı yapın. Bir p noktasının eşlemesini düşünün:

\[p' = Ap\]

Bu durumda:

$$\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}$$

Dolayısıyla, yeni p' noktasının koordinatları şu şekildedir:

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

Sınır hesaplanıyor

Kırpma ve ölçekleme yapan bir dönüşümden sonra bir öğenin sınırlayıcı kutusunun boyutunu belirlemek için şunu kullanın:

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

Belirli sonuçlar elde etmek üzere afin dönüşümlerin nasıl kullanılacağı hakkında daha fazla bilgi için Boyut ve Konum Şekilleri kılavuzuna bakın.

Sınırlamalar

Bazı boyutlandırma ve konumlandırma alanları bazı sayfa öğesi türleriyle uyumsuzdur. Aşağıdaki tabloda, belirli sayfa öğelerinin boyutlandırma ve konumlandırma alanlarıyla uyumluluğu özetlenmiştir.

Alan Şekil Video Tablo
Translation
Scale Hayır**
Kayma Hayır Hayır

** Tablo satır ve sütun boyutlarını güncellemek için UpdateTableRowPropertiesRequest ve UpdateTableColumnPropertiesRequest öğelerini kullanın.

Sayfa öğesinde kesme varsa tüm boyutlandırma ve konumlandırma alanları beklenmedik sonuçlar verebilir. Tüm sınırlamalar değiştirilebilir. Güncel bilgiler için Google Slaytlar API'ye göz atın.