我编写了一个代码,该代码使用C#在图像中的单词周围制作一个矩形。现在,我想编写一个可以在多个单词周围形成矩形的代码。我只需要知道如何做到这一点。或者只是通过一些代码来说明我。
我尝试阅读但找不到解决方法。
Bitmap bmp = new Bitmap(pictureBox1.Image);
int x1=0, x2=0, x3=0, x4=0, y1=0, y2=0, y3=0, y4 = 0;
bool f1=false, f2=false, f3=false, f4 = false;
Graphics g = pictureBox1.CreateGraphics();
Pen p = new Pen(Color.Red);
for (int j = 0; j < bmp.Width;j++ )
{
for (int i = 0; i < bmp.Height;i++ )
{
if(bmp.GetPixel(j,i).R<10){
x1 = j;
y1 = i;
f1 = true;
break;
}
}
if(f1){
break;
}
}
for (int j = 0; j < bmp.Height; j++)
{
for (int i = 0; i < bmp.Width; i++)
{
if (bmp.GetPixel(i, j).R < 10)
{
x2 = i;
y2 = j;
f2 = true;
break;
}
}
if (f2)
{
break;
}
}
for (int j =bmp.Width-1; j >=0 ; j--)
{
for (int i = 0; i < bmp.Height; i++)
{
if (bmp.GetPixel(j,i).R < 10)
{
x3 = j;
y3 = i;
f3 = true;
break;
}
}
if (f3)
{
break;
}
}
for (int j = bmp.Height-1; j >=0 ; j--)
{
for (int i = 0; i < bmp.Width; ++i)
{
if (bmp.GetPixel(i, j).R < 10)
{
x4 = i;
y4 = j;
f4 = true;
break;
}
}
if (f4)
{
break;
}
}
g.DrawRectangle(p, x1, y2, x3 - x1, y4 - y2);