我需要「縮放」文本以填充抗鋸齒的HTML5畫布。看起來scale()方法不會影響文本。我已經看到了在measureText()方法上使用迭代循環的近似方法,但這並不能完全滿足我的需求。理想情況下,我想在不保存縱橫比的情況下橫向和縱向進行填充。 SVG可能能夠提供幫助嗎?縮放文本以填充HTML5畫布的最佳方法
2
A
回答
2
我的壞 - 規模實際上適用於文本。我想出了一個解決方案:
context.font = "20px 'Segoe UI'";
var metrics = context.measureText("Testing!");
var textWidth = metrics.width;
var scalex = (canvas.width/textWidth);
var scaley = (canvas.height/23);
var ypos = (canvas.height/(scaley * 1.25));
context.scale(scalex, scaley);
context.fillText("Testing!", 0, ypos);
+0
如果你在一個循環中運行它,請記住在變換之前使用'context.save()'和在之後使用'context.restore()'(最好在finally塊中)。 – aboveyou00 2017-07-14 02:18:43
0
比例會影響文本。試試這個:
var can = document.getElementById('test');
var ctx = can.getContext('2d');
ctx.fillText("test", 10,10); // not scaled text
ctx.scale(3,3);
ctx.fillText("test", 10,10); // scaled text
看到它在這裏的行動: http://jsfiddle.net/3zeBk/8/
相關問題
- 1. 縮放背景圖案填充html5畫布標籤
- 2. 如何在填充文本後在JavaScript中縮放畫布?
- 3. html5畫布形狀填充
- 4. 縮放文本以填充其容器
- 5. 如何順利動畫HTML5的縮放畫布fillText方法()
- 6. HTML5畫布和縮放
- 7. Chrome HTML5畫布縮放
- 8. HTML5畫布/ CSS縮放
- 9. 填充樣式的陣列[HTML5畫布]
- 10. 填充DynamoDb表的最佳方法
- 11. 填充視圖的最佳方法
- 12. 如何在html5畫布上緩慢地填充文本
- 13. 有什麼方法可以讓HTML5畫布中的洪水填充更快?
- 14. 填充文本方法不改變在畫布
- 15. 使HTML5畫布填充效率更高
- 16. 縮放HTML元素的最佳方法
- 17. HTML5畫布拖放多個文本
- 18. 填充畫布形狀與文本
- 19. 如何以最佳方式縮放CGImage?
- 20. 使HTML5畫布的行爲像TclTK畫布的縮放/翻譯?
- 21. HTML5遊戲開發 - 縮放HTML +畫布
- 22. HTML5畫布使用getImageData和putImageData縮放
- 23. HTML5畫布圖像縮放問題
- 24. 在HTML5畫布中縮放圖像
- 25. html5畫布防止線寬縮放
- 26. Android ObjectAnimator:縮放後動畫填充
- 27. 什麼是縮放複雜佈局的最佳方法
- 28. HTML5畫布 - 如何填充()特定的上下文
- 29. UIImageView縮放填充
- 30. 縮放畫布
所以,如果你有五個字符和寬度爲19像素的畫布,你希望你的文本填充整個畫布(不僅15px)? – thejh 2010-11-06 16:50:27