Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在扫描的QR/条形码真实对象周围绘制绿色轮廓_C#_Unity3d_Zxing - Fatal编程技术网

C# 在扫描的QR/条形码真实对象周围绘制绿色轮廓

C# 在扫描的QR/条形码真实对象周围绘制绿色轮廓,c#,unity3d,zxing,C#,Unity3d,Zxing,我正在c#Unity3D中尝试以下内容 我想解码二维码,如果识别成功,那么在二维码周围画一个绿色正方形。正方形必须跟踪真正的物体,下面是解码的文本。目前,我能够解码的QR,在这个 vuforia扫描二维码/条形码的文件 使用下面的代码,我能够检测屏幕上Debug.DrawLine所在的X和Y,但实际情况是,该线与相机平行,而不是在屏幕上。只是给你一个机会。你知道我如何在画布上表现线条吗?你知道我可以用什么方法在qr周围画一个绿色的方框吗 ResultPoint[] point = result.

我正在c#Unity3D中尝试以下内容

我想解码二维码,如果识别成功,那么在二维码周围画一个绿色正方形。正方形必须跟踪真正的物体,下面是解码的文本。目前,我能够解码的QR,在这个

vuforia扫描二维码/条形码的文件

使用下面的代码,我能够检测屏幕上Debug.DrawLine所在的X和Y,但实际情况是,该线与相机平行,而不是在屏幕上。只是给你一个机会。你知道我如何在画布上表现线条吗?你知道我可以用什么方法在qr周围画一个绿色的方框吗

ResultPoint[] point = result.ResultPoints;
Debug.Log("X: " + point[0].X + " Y: " + point[1].Y);
Debug.DrawLine(new Vector3(point[0].X, 0), new Vector3(point[0].Y, 0), Color.green, 1000000000f);
我认为这是一个很好的用于检测QR的四个角度点的方法

谢谢


更新! 使用下面的代码,我可以在画布上画一条线,但不会导致与图像对齐


首先,您不应该使用Debug.DrawLine来实际绘制线条。其仅用于调试目的。要以正确的方式进行,请使用

由于您在计算机图形学方面似乎没有太多经验,我将给您一个简短的解释:

您试图实现的基本目标是可视化对象的边界框。根据另一个问题,ResultPoint数组包含3个点:左下角、左上角和右上角。计算右下角很简单,然后在点之间画简单的线。例如:

ResultPoint[] boundingBoxPoints = result.ResultPoints;
Debug.DrawLine(boundingBoxPoints[0], boundingBoxPoints[1], Color.green, 100f);
等等

ResultPoint[] boundingBoxPoints = result.ResultPoints;
Debug.DrawLine(boundingBoxPoints[0], boundingBoxPoints[1], Color.green, 100f);