2016-04-04 35 views
3

Vizör konumunu ve Yakınlaştırma Seviyesini değiştirdikten sonra tuvalin belirli bir konumunu (örn. Bottom Center) nasıl hesaplayabilirim?Kaydırma ve yakınlaştırma ile bir brandadaki mutlak koordinatları hesaplayın

Şuanda böyle bir şey deniyorum. Ancak sadece görünüm için çalışıyor. i yılında veya Zum Uzaklaştırma zaman

canvasPoint = { left:(canvas.width/2)-canvas.viewportTransform[4], top: canvas.height-canvas.viewportTransform[5] } 

i Tuval için yeni merkez alt noktasını bulmak kuramıyorum.

cevap

3

Matrisleri kullanmak zorundasınız. karınız - merkez köşe koordinatları vardır:

var p = {x: canvas.width/2, y: canvas.height}; 

Kişisel Zum ve Kaydırma viewportTransfom tarafından temsil edilmektedir:

var invertedMatrix = fabric.util.invertTransform(canvas.viewportTransform); 
var transformedP = fabric.util.transformPoint(p, invertedMatrix); 

Ve yapılmalıdır. transformedP, yakınlaştırılmış ve/veya kaydırılmış görünümde merkez-alt olarak gördüğünüz noktanın mutlak koordinatlarına sahip olmalıdır.

+0

Harika çalışıyor, çok teşekkürler. –