HarmonyOS Next 在native层 是否可以获取文件宽度?

当我在native层,使用cavans画字时。我需要提前得知文本画在画布上的长和宽,以确定bitmap的长宽,或者做一些其它的处理。但是我发现,获取文本的长,相应的api是存在的OH_Drawing_TypographyGetHeight,获取文本宽度却没有

阅读 520
1 个回答

在HarmonyOS的Native层中,如果您需要获取文本在画布上的宽度,可以使用OH_Drawing_TypographyGetLineWidth这个API来实现。这个API可以在您完成文本的排版之后,为您提供指定行的文本宽度。例在代码中,可以在调用OH_Drawing_TypographyLayout进行文本布局之后,使用OH_Drawing_TypographyGetLineWidth来获取第一行文本的宽度,如下:

OH_Drawing_Typography* typography = OH_Drawing_CreateTypography(handler);
double maxWidth = 600; // 假设这是您画布的最大宽度
OH_Drawing_TypographyLayout(typography, maxWidth);
double width = OH_Drawing_TypographyGetLineWidth(typography, 0); // 获取第一行文本的宽度
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题