İki veri kümesi arasında geçiş gösteren çubuk grafik animasyonları gibi d3.js'yi kullanarak bazı temel animasyonlar oluşturuyorum. Sonuç olarak, bu animasyonu daha büyük bir videonun bir parçası olarak eklemek için Adobe AfterEffects'e getirmek istiyorum. Web animasyonunu After Effects veya Illustrator uygulamasına içe aktarmak için bir dizi vektör çerçevesini (gerekirse ai veya svg veya png) dışa aktarmak istiyorum. Bunu nasıl yapabilirim? Teşekkürler!Bir AfterEffects dizisi oluşturmak için d3.js animasyonu vektör çerçevelerine nasıl dışa aktarılır?
Bir AfterEffects dizisi oluşturmak için d3.js animasyonu vektör çerçevelerine nasıl dışa aktarılır?
cevap
Bu aslında d3.js'nin geçişleri ile oldukça basit olabilir! D3.js, geçiş yapmak için DOM öğelerini doğrudan değiştirdiğinden, DOM öğelerini saniyenin 1/30'unda kolayca kaydedebilirsiniz. İşte tam örnek:
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<style>
svg { border:1px solid black; }
</style>
</head>
<body>
<svg id="svg" width="480" height="240" xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg><br/>
<button id="b1" type="button">Animate</button>
<script type="text/javascript">
var svg = d3.select("svg");
var b1 = d3.select("#b1");
var duration = 1000;
var nTimes = 30;
var x = new XMLSerializer();
var n = 0;
function outputToConsole() {
console.log(x.serializeToString(document.getElementById("svg")));
if(n++ >= 30)
return;
setTimeout(outputToConsole, 33); // 33 milliseconds is close to 1/30th of a second
}
b1.on("click", function() {
svg.select("circle").transition().duration(duration).attr("cx",150);
outputToConsole();
});
</script>
</body>
</html>
son adım diskte bireysel .svg dosyalarına olanlar outputted svg elemanlarının her kurtarmak olacaktır (bunun yerine sadece yukarıdaki örnekte olduğu gibi konsola çıktılamayıp). Henüz denemedim, ama muhtemelen FileSaver.js gibi bir şey kullanabilir. Sonra isteğe bağlı olarak .svg dosyaları ImageMagick gibi bir şey kullanarak .png dosyalarına dönüştürülebilir.
Not ImageMagick, svg dosyalarını her zaman düzgün şekilde dönüştürmez. [Bu gönderiyi oku] (http://stackoverflow.com/questions/6068751/svg-converting-using-imagemagick-doesnt-apply-a-translation-correctly) – t2k32316
Yukarıdaki cevabı aldım ve son adımı ekledim, lütfen kontrol edin my bl.ock http://bl.ocks.org/sdbernard/afbb899e60902ad42064 Bu, After Effects'teki 25fps kare hızına karşılık gelmesi için saniyenin 1/40'ının her birinden svg kaydeder –
- 1. XML verileri d3.js kullanılarak nasıl içe aktarılır?
- 2. Açısal JS - Javascript Nesnesi XLS dosyasına nasıl dışa aktarılır? Aslında
- 3. Python'da lru_cache nasıl dışa aktarılır?
- 4. IntelliJ teması nasıl dışa aktarılır?
- 5. GetHashInterface fermesyonu nasıl dışa aktarılır?
- 6. Üç JS ile bir sahne nasıl dışa aktarılır ve içe aktarılır?
- 7. Uygun TSV nasıl dışa aktarılır?
- 8. iPhone: vektör animasyonu
- 9. Veritabanının tutarlı alt kümesi nasıl dışa aktarılır
- 10. package.json dizisi grunt.js'ye nasıl aktarılır
- 11. Firebase analitik verileri nasıl dışa aktarılır
- 12. d3.js
- 13. D3.js
- 14. Veri django'dan d3.js'ye nasıl aktarılır
- 15. d3.js: tickformat - 100
- 16. Rapor bir TEK TEK html dosyasına nasıl dışa aktarılır?
- 17. umbraco CMS'den veri nasıl dışa aktarılır?
- 18. Çekirdek Veri varlığı bir CSV dosyasına nasıl dışa aktarılır
- 19. DataFrame Scala'da csv'ye nasıl dışa aktarılır?
- 20. d3.js v4 d3.layout.tree kaldırıldı mı? v4.1.1 d3.js için, bu hattı yükselttikten sonra
- 21. node.js ile D3.js görselleştirme
- 22. d3.js nice()
- 23. Katmanlı grafikler d3.js
- 24. d3.js yolu için veri sıralama
- 25. d3.js filtre
- 26. D3.js vs Raphael.js
- 27. kullanma d3.js
- 28. D3 JS Veri Filtreleme
- 29. D3.js Geçişler
- 30. Bir iOS Uygulamasının paylaşılan kapsayıcısı Xcode6.2 ile nasıl dışa aktarılır?
Güncelleme: Bu [örnek] 'e dayalı bir çözüm üzerinde çalışıyorum (http://d3export.cancan.cshl.edu/). Çok uzak çok iyi. Benim html setInterval() kullanarak form.submit çağırıyorum ve sonra perl betiği svg düğümünden veri ile bir dosya indirme oluşturur. Sorun şu ki, saniyede 30 kareye/dosyaya ihtiyacım var ve şu ana kadar betik bu kadar hızlı çalışabiliyor gibi görünmüyor. 1 saniyelik bir animasyondan 30 dosya yapmaya çalışırsam, sadece İndirme klasörümde yaklaşık 6 veya 7 dosya ile sonuçlanır. – Carrie
Uygulamanızda çok daha fazla ilerleme kaydettiniz mi? Ben benzer bir çözüm bulmaya çalışıyorum, ama şimdiye kadar bulduğum en yakın çözümler, dinamik olarak oluşturulmuş SVG'leri kaydetmek için node.js, PhantomJS, jsdom, vb. Gibi bir şey kullanırlar, ama geçişleri açıkladıklarını sanmıyorum. .. (örneğin [bu çözüm] (http://eng.wealthfront.com/2011/12/converting-dynamic-svg-to-png-with.html)). – t2k32316
Merhaba, bu konuda herhangi bir haber var mı? Bunu da uygulamak istiyorum. Belki birlikte daha fazlasını yapabiliriz. – VividD