2013-05-06 20 views
8

Şu anda daha büyük bir tuval alanına ve yüzlerce nesneye (metin, resim, şekil, klip-sanat vb.) Ihtiyaç duyan bir "Photo Collage Maker" projesinde çalışıyorum. Sorun, bu nesneleri taşırken, ölçeklerken ve döndürürken, Fabric.js bunu çok yavaşlatan tüm nesneleri oluşturur. Sadece seçili nesneleri kumaş kanvasının üzerine koymak istiyorum. RenderOnAddition'ı, renderTop'u da test ettim ama istediğim gibi değiller. Ben canvas.renderObjects(activeObject) gibi yöntemine ihtiyaç yerine canvas.renderAll() ait ŞimdiSeçilen nesneyi yalnızca taşırken, ölçeklerken ve döndürdüğünde gösterme

canvas.on('object:moving', function(e) { 
    var activeObject = e.target; 
    //canvas.renderAll(); 
    canvas.renderObjects(activeObject); 
}); 

:

Aşağıdaki istiyorum. Bu işlevi Fabric.js'de nasıl sağlayabilirim? Edit Photos For Free

+2

Hepsini oluşturmalısınız, başka yolu yoktur. Hangi nesnenin değiştiğini ölçmüyor, çizim süreci piksel çiziyor. Dijital bir videodaki kareler gibi, statik bir resim olsa bile, hala 25 karelik çerçeve var ... – arty

+0

Eğer mümkün değilse, kumaşların performansı için, cacheAsBitmap özelliğini nasıl uygulayabilirim ki sadece hareketli parça işlenir ve tüm diğer statik parçalar, bitmap olarak önbelleğe alınır. Bunu kumaşlar üzerinde uygulamak için herhangi bir fikir ve algoritma? – ep4f

+0

Üzgünüm, buradan yardım edemiyorum. iyi şanslar – arty

cevap

0

Yapabileceğiniz en iyi şey/ölçek/akım kalem (ler) döndürmek hareket edildiği ana biri, önünde, ikinci tuval sahip olmaktır:

İşte benim projedir.

Seçilen nesneleri, kumaş kanvasının üzerine koymak istediğinizi belirtin, bu nedenle gereksinimleriniz karşılanmalıdır.

Taşıma/ölçek/döndürme işlemini bitirdiğinizde, orijinal tuval öğelerini geri yüklemeniz, değişikliklerinizi uygulamanız ve tam bir yeniden çizim yapmasına izin vermeniz gerekir.