【问题标题】:html5 text manipulationhtml5文本操作
【发布时间】:2011-08-14 21:23:36
【问题描述】:

我正在尝试编写一个软件来抓取字符串并打包它们 有序布局,如下图所示

我认为要达到这个结果,我要迈出的第一步就是能够 计算画布中单个字符串的大小以修改字体大小 以适应所需的宽度。
所以,如果 any1 有一些内置功能的解决方案,或者执行它的方法 这样我就可以自己编写代码,这会很好(非常好)。

提前致谢
k

【问题讨论】:

  • 你基本上想要一个 ocr - 谷歌,但必须告诉你这并不容易
  • 如果您决定不使用画布 jquery 有 2 个不错的功能 -api.jquery.com/widthapi.jquery.com/height
  • OP 不想要 ocr,他想以特定方式格式化字符串
  • 你的意思是我应该使用ocr算法将文本转换为图像,然后以递归方式检测它的宽度,直到我得到匹配的宽度?
  • @bakudan 是的,我知道即使 mootools 也有相同的功能,唯一的问题是它们威胁字体的方式,我需要对这个问题非常准确,因为这是一个基于字体的项目。所以在这种情况下,画布给了我一些东西,比如控制字距调整基线等等。

标签: javascript html text fonts canvas


【解决方案1】:

如果您决定不使用 CANVAS,这可能会很有用:如何计算字母的宽度:http://jsfiddle.net/rudiedirkx/sCUac/ 使用特定字体和特定大小。

编辑
或者一个句子的宽度。

【讨论】:

  • thx m8,我正在评估这种可能性,但我有点担心交叉浏览问题,你有什么建议吗?
  • 没有 xbrowser 问题。有了这个,您可以在 that 浏览器上以 that 大小等获得 that 字体的正确宽度。只要确保(非常细的)JS 适合IE:也许 Node.offsetWidth 在 IE 中的调用方式不同。我假设你可以自己测试=)
  • 我无法抗拒。在 IE8 中完美运行。
  • 没办法,我只是把你之前的评论弄红了,你完全误解了我的意思:我是一个 mootools 人,老实说,jquery 让我毛骨悚然:P
  • 无论如何我都会以 js 的方式试一试,唯一的问题是我必须使用非标准字体。
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多