Sayfa Öğelerini Boyutlandırma ve Konumlandırma

Bu kılavuzda, afinit kullanarak sayfa öğelerini nasıl boyutlandırdığınız ve konumlandırdığınız açıklanmaktadır dönüşür. Afin dönüşümlere kavramsal bir giriş için Dönüşümler kavram rehberini inceleyin.

Öğeleri dönüştürme

Slaytlar API'si bir sayfadaki öğeleri yeniden konumlandırmanıza ve ölçeklendirmenize olanak tanır. Bunu yapmak için önce ne tür bir dönüşümün uygulanması gerektiğini belirleyin, ardından dönüştürmek için presentations.batchUpdate yöntem, örneğin, UpdatePageElementTransformRequest öğeler.

Dönüşüm, ikiden birinde yapılabilir applyModes:

  • ABSOLUTE dönüşümleri, öğenin mevcut dönüşümünü değiştirir matristir. Dönüşüm güncelleme isteğinden çıkardığınız tüm parametreler sıfır.

  • RELATIVE dönüşümleri, öğenin mevcut değeriyle çarlanır dönüşüm matrisi (çarpma sırası önemlidir):

$$A' = BA$$

Göreli dönüşümler, sayfa öğesini şu anda olduğu yerden taşır veya ölçeklendirir; bir şekli 100 nokta sola hareket ettirebilir veya 40 derece döndürebilirsiniz. Mutlak dönüşümler mevcut konum ve ölçek bilgilerini siler; şunun için: veya şekli sayfanın ortasına doğru görebilirsiniz.

Karmaşık dönüşümler genellikle daha basit dönüşümler dizisi olarak ifade edilebilir. Bir dönüşümün önceden hesaplanması (kullanarak birden fazla dönüşümü birleştirme) genelde ek yükü azaltabilir.

Bazı işlemler için bir öğenin mevcut dönüşümünün ne olduğunu bilmeniz gerekir aynı olacak. Bu değerlere sahip değilseniz presentations.pages.get isteği gönderin.

Çeviri

Çeviri, bir sayfa öğesini yeni bir konuma taşıma işlemidir. olduğunu görebilirsiniz. Mutlak çeviriler öğeyi belirli bir noktaya taşır. görece çeviriler ise öğeyi belirli bir mesafeye taşır.

Temel çeviri dönüşüm matrisi şu şekildedir:

$$T=\begin{bmatrix} 1 & 0 & translate\_x\\ 0 & 1 & translate\_y\\ 0 & 0 & 1 \end{bmatrix}$$

UpdatePageElementTransformRequest kullandığınızda (boyutunu, kıvrımını veya yönünü değiştirmeden) bir öğeyi çevirmeye aşağıdakilerden birini kullanabilir AffineTransform yapılar:

// Absolute translation:
{
  'transform': {
    'scaleX':  current scaleX value,
    'scaleY':  current scaleY value,
    'shearX':  current shearX value,
    'shearY':  current shearY value,
    'translateX': X coordinate to move to,
    'translateY': Y coordinate to move to,
    'unit': 'EMU' // or 'PT'
  }
}

// Relative translation (scaling must also be provided to avoid a matrix multiplication error):
{
  'transform': {
    'scaleX':  1,
    'scaleY':  1,
    'translateX': X coordinate to move by,
    'translateY': Y coordinate to move by,
    'unit': 'EMU' // or 'PT'
  }
}

Ölçeklendirme

Ölçeklendirme, bir öğeyi X ve/veya alan boyunca genişletip sıkıştırma işlemidir. Y boyutunu değiştirin. Temel ölçeklendirme dönüşüm matrisi şu şekildedir:

$$S=\begin{bmatrix} scale\_x & 0 & 0\\ 0 & scale\_y & 0\\ 0 & 0 & 1 \end{bmatrix}$$

Bu matris formunu doğrudan bir RELATIVE dönüşümü olarak kullanarak öğesine dokunun, ancak bu durum öğenin oluşturulan kesme ve çevirisini de etkileyebilir. Öğeyi, kaymasını veya çevirisini etkilemeden ölçeklendirmek için öğenin referans çerçeve'yi seçin.

Döndürme

Rotasyon dönüştürmelerinde, bir sayfa öğesini bir nokta etrafında döndürür. Bunun için kayma parametreleridir. Temel rotasyon dönüşüm matrisi aşağıdaki biçimdedir: Bu yöntemde dönme açısı (radyan cinsinden) X ekseninden ölçülür ve saat yönünün tersine:

$$R=\begin{bmatrix} cos(\theta) & sin(\theta) & 0\\ -sin(\theta) & cos(\theta) & 0\\ 0 & 0 & 1 \end{bmatrix}$$

Ölçeklendirmede olduğu gibi, bu matris formunu doğrudan bir RELATIVE bir öğeyi döndürecek şekilde dönüştürülür, ancak bu, öğenin döndürülmesine neden olur sayfanın kaynağı hakkında bilgi edinin. Öğeyi, merkezi veya bir farklı bir nokta, bu referans çerçeveye kaydırabilirsiniz.

Yansıma

Yansıtma, bir öğeyi belirli bir çizgi veya eksen boyunca yansıtır. Temel x ve y ekseni yansıma dönüşüm matrisi aşağıdaki biçimlerdedir:

$$F_x=\begin{bmatrix} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1\\ \end{bmatrix}\qquad\qquad F_y=\begin{bmatrix} -1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ \end{bmatrix}$$

Ölçeklendirmede olduğu gibi, bu matris formunu doğrudan bir RELATIVE bir öğeyi yansıtacak şekilde dönüştürülür, ancak bu, öğenin olur. Öğeyi herhangi bir çeviri olmadan yansıtmak için referans çerçevesine kaydırabilirsiniz.

Öğe referans çerçeveleri

Temel bir ölçek uygulayarak düşünme veya rotasyon doğrudan sayfaya dönüşür öğesi, sayfanın referans çerçevesinde bir dönüşüm oluşturur. Örneğin, temel döndürme, öğeyi sayfanın kaynağı ( tıklayın). Ancak, projenizin referans çerçevesi içinde (örneğin, bir öğeyi merkez noktası etrafında döndürmek için) kullanabilirsiniz.

Bir öğeyi kendi referans çerçevesi içinde dönüştürmek için öğeyi iki diğer çeviriler: öğe merkezini hareket ettiren bir önceki çeviri T1 sayfa kaynağına ve aşağıdaki çeviriye T2 ekler konumuna geri döndürebilirsiniz. Tam işlem bir matris olarak ifade edilebilir ürün:

$$A' = T2 \times B \times T1 \times A$$

Dilerseniz farklı noktaları çevirerek diğer referans çerçevelerine geçebilirsiniz . Bu noktalar yeni referansın merkezi olur çerçeve.

Bu dönüşümlerin her biri tek tek doğru verildiğinden sıralı RELATIVE dönüşüm istekleri. İdeal olarak, Yukarıdaki A' sayısını matris çarpımlarını kullanarak hesaplayın ve sonucu tek bir sayı olarak uygulayın ABSOLUTE dönüşümü. Alternatif olarak T2 * B * T1 ürününün önceden hesaplamasını yapabilirsiniz ve bunu tek bir RELATIVE dönüşümü olarak uygulayabilirsiniz. Bunların ikisi de daha verimli, daha ayrıntılı şekilde ekleyebilirsiniz.

Sınırlamalar

Bazı boyutlandırma ve konumlandırma alanları bazı sayfa türleriyle uyumsuz öğeler. 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**
Kesme Hayır Hayır

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

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 Slides API'ye göz atın.

Slaytlar API'si değerlerinizi yeniden düzenleyebilir

Bir sayfa öğesi oluşturduğunuzda bir boyut belirtebilir ve belirli bir görsel sonuç sağlar. Ancak API, sağladığınız değerleri, aynı görsel görünümü sağlayan diğerleriyle değiştirin. Genel olarak, API'yı kullanarak bir boyut yazarsanız aynı seçin. Ancak dönüşümü hesap.