您现在的位置是:首页» windows系统» canvas里边绘制倾斜的文字,canvas设置文本垂直水平居中

canvas里边绘制倾斜的文字,canvas设置文本垂直水平居中

2023-10-22 00:04:03
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!  如果你在画图的时候,想要做到文字两端对齐,就像注册表单一样,可以参考下面的内容。  首先,在画布上使用drawText绘制文字的时候,我们希望文字可以在垂直方向上居中。所以我们需要测量出要绘制的文

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

  如果你在画图的时候,想要做到文字两端对齐,就像注册表单一样,可以参考下面的内容。

  首先,在画布上使用drawText绘制文字的时候,我们希望文字可以在垂直方向上居中。所以我们需要测量出要绘制的文字的高度。具体来说,并不是获取文字的整个高度,因为要实现垂直居中,我们需要知道文字的baseline。为了找到这个baseline,我在网上搜索了一篇关于获取baseline的文章(文章链接可以在本文底部找到),感觉这可能是我需要的答案。但是基于怀疑一切的态度,我不能盲目地相信一篇文章,实践才能证明真理。所以下面我来验证一下几个观点。

  首先,我们可以明确一点,有五个位置分别是top、ascent、baseline、descent和bottom。显而易见的是,这五个位置都会受到字号的大小的影响,关于这个问题我们就不再讨论了。所以我验证了一下不同字体对这五个位置的影响。我使用了默认字号16和四种不同的字体:系统默认字体、行书、小篆和方正姚体。通过五条不同颜色的水平线,展示了这五个位置的效果。

  从效果看,字体对top、ascent、baseline、descent和bottom的位置影响并不明显。我还通过打印日志得出了结果。

  结果是:以baseline为基准线,向上为负,向下为正是正确的。这个验证告诉了我们,Canvas中的drawText方法绘制文字时的基准线就是baseline。

  现在我们已经验证了一些观点,但是我们讨论这么多,其实都是为了如何在垂直方向上居中绘制文字,关键就在于如何获取baseline的位置。我们知道,使得ascent到View的上边距与descent到View的下边距距离一致,加上ascent的绝对值(-ascent),就可以得到baseline的位置。

  在Canvas中使用drawText绘制垂直居中文字的关键是要求出baseline的位置。获取位置的公式可以在以下链接找到:

  github.com/lgygg/MeasureHeight

  blog.csdn.net/su1216/article/details/46900617#

wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com

标签: 居中 绘制 垂直