如何创建结合不同字体大小或类型的标签?


16

我想将一个点的高程数放置在不同的正面尺寸中,并以其名称为中心:

在此处输入图片说明

那可能吗?

(这是我的实际标签:label || '\n' || elevation

Answers:


12

忽略分钟的字体大小,可以通过将标签居中于该点上方来实现第一个选择,在QGIS 1.9中,您可以选择将文本居中于多行部分下。如果您在表达式中包含换行符,则可以将“在字符上换行”框保留为空(或在表达式中使用斜杠代替“ \ n”,然后将其设置为换行符-换行符没有显示)。这会将您的文本设置为第二个选项的中心。对于第一个选项,可以将行高选项设置为2或3。

但是,QGIS高级标签只有一个字体大小选项。因此,要获得不同的字体大小,我认为您将不得不第二次添加图层并在其中设置高程字体和位置。


1
是否有任何当前或将来的计划来实现对QGIS标签使用基于HTML的字体标签,就像ArcGIS文本格式标签一样
RyanKDalton

1
@RyanDalton hub.qgis.org/issues/4080这是一个好主意,但可能会减慢标签的渲染速度,并且可能难以确定标签的适当大小(因为它现在基于QFontMetricsF),但必须尝试先确定要实施它。没有针对2.0的计划,但对于2.1可能可行。
dakcarto

1
有什么消息吗?
MAP

在QGIS 3.6上有可能吗?
丹尼尔森

5

您可以使用基于规则的标签来实现所需的功能,但是需要将一个字段中的标签分成两个字段。基于规则的标签选项使您可以从不同的字段中添加标签,并通过更改字体名称,颜色,大小和使用偏移量将标签彼此重叠来自定义标签。

如您在下面的示例中看到的,我将日语标签和英语标签放在两个字段中,然后根据需要控制每个标签的外观:

在此处输入图片说明

去做这个:

  • Layer properties -> Labels
  • 选择 Rule-Based Labeling

在此处输入图片说明

  • 分别定义要在标签中使用的字段。在此示例中,我使用了Name_JP和Name_EN。
  • 独立使用每种样式,并根据需要自定义每种样式。
  • 最重要的是在标签之一下使用Offsetunder Placement,以便它们可以彼此重叠。对于第一个标签字段,我使用了以下放置设置:

在此处输入图片说明

对于第二个标签字段,我使用了以下设置:

在此处输入图片说明

在QGIS 3.0.1上进行了测试,但是由于基于规则的标签选项可用,因此它也可以在QGIS 2.18中应用。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.