`
isiqi
  • 浏览: 16342981 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

SVG中对中文高度计算的“特殊处理”

 
阅读更多

阅读本文前请先阅读《SVG字体操作》了解svg中如何移动字体以及其字体坐标系。




上面的代码在画布上画出了“Love Story宋体"


宋体两个字漏了点尾巴出来,而Love Story都在基线0以上。这说明中文溢出了文本框。



删掉英文,修改如下:


结果如下:

情况依旧。


已经知道Love Story的高度为70像素,下面的代码执行看看:




可以看到,Love Story被完全平移到可视区域了,但宋缺头。



这个给我们带来一个问题:当我们想把中文先移动到原点然后做旋转变换的时候,不知道要移动多少。这个问题在Flex和SVG相互配合时候最为明显。



解决方案: 不要在flex中计算文本外接矩形,而应该在svg中利用js计算。 Flex中计算的基线在svg中是错误滴。


分享到:
评论

相关推荐

    基于IEC60044-8多套SVG协调控制的多项式CRC的FPGA实现及扩展应用.pdf

    随着多套SVG设备的增加,对协调控制的需求也在增长,这就要求系统能够支持更加复杂的通信协议和更高的数据处理速度。 综上所述,该论文的研究成果对于提高电力通信系统中的数据传输效率和可靠性有着重要的现实意义...

    matlab开发-svgfixviewboxinnamevarargin

    总的来说,"svgfixviewboxinnamevarargin"是MATLAB中处理SVG文件的一个实用工具,特别是在需要动态调整视图范围的场景下。它利用MATLAB强大的计算能力和灵活性,为机器人和自主系统的可视化提供了一个有效的解决方案...

    内容反爬技术解析

    例如,对于一个宽度为 14px、高度为 30px 的字符,可以通过计算得出其在 SVG 文件中的精确位置。这使得爬虫能够根据 `<span>` 标签的属性反推原始的文字内容。 #### 四、技术实现原理 - **SVG 字典**:网站预先...

    ziku.rar_ziku_字库_字库矢量算法_嵌入式 字库_矢量字库

    在嵌入式系统中,由于资源限制,处理矢量字库需要高效的解码算法。这些算法负责将矢量数据转换为可显示的像素格式。常见的矢量字库算法有SVG(Scalable Vector Graphics)解码、TrueType字库解析等。SVG是一种基于...

    Drawable资源管理图片处理

    5. **Intrinsic尺寸**:Drawable对象有自己的固有宽度和高度(intrinsic size),这对于布局计算和自适应设计很有帮助。例如,ImageView的layout_width和layout_height可以设置为"wrap_content",让其根据Drawable的...

    外国64K编程比赛获奖作品(一二三等奖作品)

    总之,64K编程比赛一等奖作品展示了编程艺术的高度,融合了极致的代码优化、创新的算法设计、巧妙的数据结构使用以及对硬件的深刻理解。这样的作品不仅是技术的杰作,也是程序员智慧的结晶。学习和研究这些作品,...

    Fonts & Encodings

    它允许创建高度定制的字体,尤其适合数学符号和特殊字符。书中会讲解Metafont语言的基本原理和实际应用。 8. **Panose**:Panose是一种字体分类和描述系统,用于标准化字体的视觉特性,如字形、风格、粗细等。它有...

    IOS_QQ表情聊天Demo

    利用`estimatedRowHeight`和`rowHeight = UITableViewAutomaticDimension`来实现动态高度计算,让单元格的高度自动适应内容;并使用`reloadData`或`insertRows`方法来动态更新聊天记录。 此外,聊天界面的设计也至...

    特大任意汉字点阵字体生成器

    1. 字符集:标准的ASCII字符集包含95个可打印字符,但用户可以根据需要扩展到全汉字集或其他特殊字符集。 2. 字体大小:点阵字体的大小通常以像素宽度和高度表示,用户可以设置不同尺寸以适应不同的显示环境。 3. ...

    Cascading Style Sheet 样式表中文手册

    **Cascading Style Sheets(CSS)详解** Cascading Style Sheets...《Cascading Style Sheet 样式表中文手册》将是你探索CSS世界的重要指南,涵盖从基础到进阶的各种主题,帮助你更好地理解和掌握这一强大的样式语言。

    ad.css for IE

    1. **盒模型问题**:IE8及其以下版本采用的盒模型与W3C标准盒模型不同,导致元素的宽度和高度计算方式有异。开发者可以通过`box-sizing`属性来统一盒模型,使其与其他浏览器保持一致。 2. **CSS Hack**:由于IE浏览...

    仿时钟效果表盘式JQuery时间选取插件

    3. **JavaScript事件处理**:当用户点击并拖动指针时,插件需要监听并处理鼠标或触摸事件,计算出对应的时间值,并更新显示。 4. **时间和日期API**:插件需要与JavaScript内置的Date对象进行交互,以便正确解析和...

    利用d3.js对大数据资料进行可视化分析

    2. **创建SVG元素**:使用d3.js创建SVG容器,并设置相应的宽度和高度。 3. **定义力布局**:使用`d3.forceSimulation()`方法定义力的大小、方向和作用距离等。 4. **绘制节点和边**:根据数据中的`nodes`和`links`...

    JS+CSS實現Spliter功能

    4. **计算与更新尺寸**:在mousemove事件中,计算鼠标相对于分割线的位置,然后根据这个位置动态改变相邻内容区域的宽度或高度。这里可能需要用到CSS的`style.width`或`style.height`属性来实时修改元素的尺寸。 5....

    matplotlib的具体介绍.docx

    - Matplotlib与Jupyter Notebook的高度兼容性使得用户能够在Notebook环境中轻松创建并展示图表。 - 这对于数据科学家和研究人员来说非常有用,因为他们可以即时查看结果并进行调整,提高工作效率。 #### 三、...

    C#BarCodeHelper条形码帮助类获取12位39码和EAN13码Html字符串.zip

    它通过将数字或字母编码为可被光学扫描设备读取的图形,极大地提高了数据处理的效率和准确性。在这个名为"C#BarCodeHelper条形码帮助类获取12位39码和EAN13码Html字符串.zip"的压缩包中,我们主要探讨的是如何在C#...

    简单的数据可视化页面14.zip

    在JavaScript中,我们需要计算每个扇区的中心角度,然后用arc函数在canvas上画出。对于SVG,可以使用`<path>`元素配合`d`属性来绘制。颜色分配和标签的添加也是关键,以清楚地显示各个部分的含义。 3. **中间地图**...

    生成可缩放条码图像(barcode矢量图像填充)

    2. 计算条码的宽度和高度,根据字符数量、每个单元的宽度和高度以及边框等设置。 3. 遍历输入数据,对每个字符计算相应的条纹模式,并绘制到Graphics对象上。 4. 添加起始和终止符,以及可能的校验位。 5. 如果需要...

    9-27地形标注.rar

    这些数据通常以矢量图形(如SVG或SHP格式)或栅格图像(如TIFF或JPEG格式)的形式存在,可以通过专业的GIS软件如ArcGIS、QGIS等进行处理和分析。使用这些数据,我们可以生成具有高精度和丰富信息的地形图,服务于...

Global site tag (gtag.js) - Google Analytics