回答
可以使用的scaleX來 「擠」 通過縮放文本的文本:
// "squish" the text to 60% of its original width
scaleX:0.60
示例代碼和演示
var canvas = new fabric.Canvas('canvas');
var myText = new fabric.Text('NEW TEXT',{
left: 50,
top: 60,
});
canvas.add(myText);
var mySquishedText = new fabric.Text('NEW TEXT',{
left: 50,
top: 100,
scaleX:0.60,
});
canvas.add(mySquishedText);
body{ background-color: ivory; }
#canvas{border:1px solid red; margin:0 auto; }
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>
<canvas id="canvas" width=300 height=300></canvas>
[更新: @AndreaBogazzi補充說scaleX
比較好處理矩陣運算]
最好使用scaleX屬性。至於前幾天同樣問題的原因。 transformMatrix並沒有很好的處理。 – AndreaBogazzi
@AndreaBogazzi。我想我已經習慣了轉換矩陣,首先到達轉換矩陣。但這聽起來像是你在第一個本能中警告我。所以,如果你能教育我,爲什麼transformMatrix不能很好地處理? :-) – markE
實際上,fabricjs的內部函數並不以處理控制箱的方式處理transformMatrix。如果您嘗試應用旋轉transformMatrix,例如您將旋轉文本,但仍然是水平控制箱。這是一個錯誤,然後我們決定在角度+ scaleX + scaleY + skewX + translation中分解transformMatrix。未來(希望在近處)transformMatrix將被「吸收」並用fabricjs處理的基本屬性(skewX,scaleX,scaleY,angle,top和left)表示 – AndreaBogazzi
- 1. 使用fabric.js在畫布上繪製文本
- 2. 如何使用Fabric.js將圖像上載到畫布上?
- 3. fabric.js顯示畫布文本的鏡像
- 4. Fabric.js畫布上的動畫GIF
- 5. 如何使用dockpanel拉伸畫布?
- 6. 在Fabric.js畫布上添加網格
- 7. fabric.js - 多用戶畫布
- 8. 使用fabric.js的畫布全屏模式
- 9. 使用Fabric.js畫布邊框半徑
- 10. 使用fabric.js在畫布上自由繪圖
- 11. 如何從Fabric.js畫布中刪除SVG?
- 12. 使文本伸展100%
- 13. Fabric.Js - 使添加到畫布的文本可編輯
- 14. 如何使用fabric.js禁用畫布元素的縮放點?
- 15. 關於文本區域更改事件在畫布上添加使用fabric.js的文本
- 16. 如何根據fabric.js中較低的畫布調整上層畫布的大小?
- 17. Fabric.js不能在html5畫布上寫文字
- 18. Fabric.js將文字分層放置在畫布上的圖像
- 19. 如何使用鼠標點擊在畫布上旋轉文本?
- 20. 如何使用jquery在畫布上添加文本區域javascript
- 21. 如何使用DynamicLayout和Ellipsize在畫布上繪製文本框
- 22. 如何從Fabric.js畫布中使用按鈕刪除圖像
- 23. Fabric.js畫布混合模式
- 24. Fabric.js畫布邊界檢測
- 25. 縮放畫布jsplumb/fabric.js
- 26. 在Fabric.js畫布上集成Flash動畫(或派生格式)
- 27. 使用fabric.js將一系列圖像添加到畫布上
- 28. 如何使用Fabric.js將多個圖像從本地磁盤添加到畫布?
- 29. 如何繪製文本的畫布上
- 30. fabric.js不導出使用SVG文件的畫布
歡迎來到堆棧溢出!你可以在你的問題中包含一些代碼,看看你已經嘗試過了嗎? – ventiseis
@ventiseis我已經完成了這項任務,並在下一個任務上工作。 thanx – Azam