0

EmguCV (OpenCV C# ラッパー) イメージで複数の行を持つ文字列を描画しようとしています。しかし、EmguCV は改行文字 "\r\n" を認識しないようです。

どうすればそれを達成できますか?または、次の文字列の位置を手動で設定できるように、テキストの高さを取得するにはどうすればよいですか?

StringBuilder imageComments = new StringBuilder();
imageComments.AppendLine("Camera status");
imageComments.AppendLine("Shutter: " + shutter);
Emgu.CV.Image<Gray, Byte> img = new Emgu.CV.Image<Gray, byte>(bmp);
Point location = new Point(30, 30);
MCvFont font = new MCvFont(Emgu.CV.CvEnum.FONT.CV_FONT_HERSHEY_SIMPLEX, 0.3f, 0.3f);
Gray color = new Gray(255);
img.Draw(imageComments.ToString(), ref font, location, color);
4

1 に答える 1

2

段落を個々の行に解析し、各行に必要な y 変位を生成する独自の関数をいつでも作成できます。私の記憶が正しければ、デフォルトのフォント サイズは 16 ピクセルです。

void myDrawMultiLineText(string InputParagraph, Point Origin)
{
vector<string> LinesOfText = myParse(InputParagraph,"\n");
for (int i=0;i<LinesOfText.size(); ++i)
    DrawText(CurrentLine[i], Origin.x, Origin.y + i*16);
}
于 2013-06-05T17:11:49.680 に答える