我需要“缩放”文本以填充抗锯齿的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. 缩放文本以填充其容器
- 2. 如何顺利动画HTML5的缩放画布fillText方法()
- 3. 填充样式的阵列[HTML5画布]
- 4. 如何在html5画布上缓慢地填充文本
- 5. 填充DynamoDb表的最佳方法
- 6. 填充视图的最佳方法
- 7. HTML5画布填充形状复杂
- 8. 缩放HTML元素的最佳方法
- 9. 填充画布形状与文本
- 10. 在HTML5画布中缩放图像
- 11. html5画布防止线宽缩放
- 12. 什么是缩放复杂布局的最佳方法
- 13. HTML5画布 - 如何填充()特定的上下文
- 14. UIImageView缩放填充
- 15. 释放HTML5画布
- 16. Chart.js填充画布
- 17. 缩放图像以找到相似度的最佳方法?
- 18. 缩放图像以填充相对布局的屏幕
- 19. HTML5画布颜色文本
- 20. 填充VBA的最佳方式
- 21. 拖放HTML5中的画布
- 22. 压缩.msi文件的最佳方法?
- 23. 画布与缩放动画
- 24. RectClear不适用于HTML5画布缩放动画
- 25. 帆布填充文本
- 26. 零填充缩放fourier
- 27. 在HTML5画布中填充洪泛后的抗锯齿边缘?
- 28. 用kineticjs缩放(缩放)整个画布
- 29. Java FX缩放的画布
- 30. 画布用文字填充形状
所以,如果你有五个字符和宽度为19像素的画布,你希望你的文本填充整个画布(不仅15px)? – thejh 2010-11-06 16:50:27