如何在框架/图像中插入多行文本
How to insert multiple lines of text into frame/image
我使用C++和OpenCV创建了一个框架,并希望在其中插入几行文本。
使用以下代码:
putText(frame, "My text here", cvPoint(30,30),
FONT_HERSHEY_COMPLEX_SMALL, 0.8, cvScalar(200,200,250), 1, CV_AA);
但在这里,我想写,假设两行分开,"你好"answers"欢迎"。这里的问题是\n和endl不起作用。如果可能的话,也可以将文本对齐到框架的中间。
非常感谢。
您需要分别为每一行调用putText()
。为了计算每一新行的位置,可以使用getTextSize()
返回文本的宽度和高度以及基线。在Python中,你可以做这样的事情:
position = (30, 30)
text = "Some text including newline n characters."
font_scale = 0.75
color = (255, 0, 0)
thickness = 3
font = cv2.FONT_HERSHEY_SIMPLEX
line_type = cv2.LINE_AA
text_size, _ = cv2.getTextSize(text, font, font_scale, thickness)
line_height = text_size[1] + 5
x, y0 = position
for i, line in enumerate(text.split("n")):
y = y0 + i * line_height
cv2.putText(frame,
line,
(x, y),
font,
font_scale,
color,
thickness,
line_type)
相关文章:
- 如何从代码本身向 wxwidgets 中的文本控件插入字符?
- 如何在MFC中的静态文本控件上插入图标?
- 是否可以在原始字符串文本中插入转义序列?
- 如何在文本文件中间插入字符
- win32 c++ 我想在静态标签的文本之后直接插入一个 EDIT 控件
- 为什么插槽函数即使成功调用也无法插入文本
- 在文本文件的某些行和列上插入值
- 将文本文件插入2D矢量C
- 将文本文件单词插入 AVL
- 在文本文件中在特定行中插入线
- 将整数从文本文件插入到整数数组
- fputc在插入文本之前将第一行留空
- 在Embarcadero Tools API中的光标位置插入文本
- 在文件中插入文本只工作一次
- C++ 在追加 Windows API 的特定位置插入文本
- 在QTextEdit中,如何检测用户何时只将光标插入文本区域一次
- 在函数之间的c++代码中插入文本
- 使用std::ostream在每行之前插入文本
- VC++:在文本框中插入文本,不重复
- 插入文本