如何使用边界框在C#中填充矩形

时间:2019-06-06 05:50:03

标签: c# asp.net microsoft-cognitive

我列出了边界框X左上,Y左上,X右上,Y右上,X右下,Y右下,X左下,Y左下

需要在图像上创建填充矩形。

如何计算矩形的x,y,宽度和高度

已使用Pen和DrawRectangle

 Bitmap bmp = (Bitmap)Bitmap.FromFile(imageFilePath);
 Graphics g = Graphics.FromImage(bmp);
 Pen snowPen = new Pen(Color.Black, width);
 g.DrawRectangle(snowPen, x , y , width, height);

如何转换边界框数据以获取x,y,height和width?

1 个答案:

答案 0 :(得分:1)

如果您查看DrawRectangle here的文档,以了解x和y的表示方式:

  

要绘制的矩形的左上角的x坐标。

     

要绘制的矩形的左上角的y坐标。

基于您提到的输入信息为: X top left, Y top left, X top right, Y top right, X bottom right , Y bottom right , X bottom left , Y bottom left

然后:

  • x = X左上方
  • y = Y左上方
  • Height =(Y左上-Y左下)或Y右上-Y右下:如果边界框值为矩形,则该值等于)
  • Width =(X右上-X左上)或X右下-X左下:如果边界框的值是矩形,则这些值相等)

备注:

  • 由于您没有提到边界框值是如何表示的(int?float?),因此请记住,此处的值应为int值。
  • 如果边界框不是矩形,则应改用DrawPolygon