将变音符号(Unicode)写入位图

时间:2017-10-30 18:14:38

标签: c++ opencv unicode bitmap

我有一个程序应该在屏幕上显示一些文字,这一切都很好,直到我得到特殊(unicode)字符(在这种情况下,慕尼黑,ü)。

当我使用OpenCV时,它只会打印一个'?',而我不知道如何将文本写入位图的另一种可行方法。我也在OpenCV中尝试了使用addText的Qt,它增加了一些方块。

我知道如何在没有太多麻烦的情况下做到这一点吗?

编辑:我想使用位图或类似的,因为我每帧都手动生成图像的一部分,并使用OpenCV,并且很容易将生成的位图嵌入其中。

1 个答案:

答案 0 :(得分:0)

OpenCV putText(对QT支持的addText不太了解)函数还不支持unicode。如果您对要使用的库类型不太了解,可以随时安装(或最好从源代码构建)ImageMagick库。然后,您可以使用提供的C ++ API(Magick ++)。

#include <Magick++.h>

int main()
{
Magick::Image image;
image.read("image.bmp");
image.annotate("üüüüüüüüüüüüüüüüü", Magick::CenterGravity);
image.display();
}