我在我的一個項目中使用了fabric.js。 我使用縮放功能。我想知道是否有一個簡單的方法來縮放所有畫布(包括所有元素)。如何用一次單擊縮放畫布上的所有元素?
1
A
回答
4
試試這個jsfiddle演示按鈕的縮放onclick:http://jsfiddle.net/cmontgomery/H7Utw/1/。實質上,您可以在畫布上獲取所有對象,並以相同因子縮放/移動它們,從而給出縮放的視覺外觀。
var objects = canvas.getObjects();
for (var i in objects) {
var scaleX = objects[i].scaleX;
var scaleY = objects[i].scaleY;
var left = objects[i].left;
var top = objects[i].top;
var tempScaleX = scaleX * SCALE_FACTOR;
var tempScaleY = scaleY * SCALE_FACTOR;
var tempLeft = left * SCALE_FACTOR;
var tempTop = top * SCALE_FACTOR;
objects[i].scaleX = tempScaleX;
objects[i].scaleY = tempScaleY;
objects[i].left = tempLeft;
objects[i].top = tempTop;
objects[i].setCoords();
}
canvas.renderAll();
+1
我修復了fabricjs外部參考http://jsfiddle.net/H7Utw/14/ – 2014-01-22 18:06:06
+0
放大畫布以及https://gist.github.com/clouddueling/8564180 – 2014-01-22 18:17:00
0
如果在不修改所有對象的情況下對fabricjs使用縮放,請使用:https://github.com/wojtek-krysiak/fabricjs-viewport。
相關問題
- 1. 如何使用fabric.js禁用畫布元素的縮放點?
- 2. 座標縮放畫布元素
- 3. 如何將多個畫布元素放入一個畫布元素中?
- 4. 單擊畫布中的給定元素
- 5. 縮放畫布以及其上的元素
- 6. 如何用動畫縮放畫布
- 7. 如何縮放用於在畫布上製作線條/曲線的所有點?
- 8. 如何一次隱藏Android中佈局中的所有元素?
- 9. 是否可以縮放一個畫布元素
- 10. 縮放畫布
- 11. 如何在動畫中縮放畫布?
- 12. 用kineticjs縮放(縮放)整個畫布
- 13. 用靜態分辨率縮放畫布元素
- 14. 如何一次顯示所有可見元素上的熱圖?
- 15. 畫布縮放保留像素尺寸
- 16. 通過CSS縮放網頁上的所有元素
- 17. 如何縮放畫布中的alpha值?
- 18. 畫布drawImage縮放
- 19. 畫布與縮放動畫
- 20. 在同一元素上的每次單擊時調用afterrender
- 21. 一次禁用所有表單元素,簡單?!?!不工作
- 22. 在點擊一次後禁用所有其他元素
- 23. Android:如何縮放畫布以適合所需的尺寸
- 24. 如何禁用所有onClick子元素上的點擊
- 25. 如何使用動畫縮放svg元素?
- 26. 如何在畫布上實施捏放/縮放事件?
- 27. 如何在iOS上的MPMoviePlayerViewController上禁用單指雙擊縮放?
- 28. 通過縮放畫布單擊點標籤
- 29. 的Android ItemizedOverlay縮放畫布
- 30. Java FX縮放的畫布
有這樣的沒有內置的功能,但你可以嘗試谷歌搜索組目前的解決方案 - http://groups.google.com/forum/?fromgroups#!forum/fabricjs – kangax 2012-07-23 22:25:12