来到新公司,经常需要处理海康视频和unity的结合的问题,
因为海康视频的叠加信息只能在winform上显示出来,所以通过winform将视频发给了unity,
现在需要在海康视频上设置规则框,在UGUI上画好规则框后将顶点在图片上的比例传给海康SDK进行设置,
就涉及到了将UGUI上图片比例传递给winform,这个比例,传递给winform之后要保证在视频图片上画的位置一样
winform上会展示视频,unity也会展示这个视频,要保证点的位置是一样的
因为winform上pictureBox的鼠标事件,获取的坐标是从左上角开始的,
但是UGUI上最好也要实现0点坐标在左上角
将显示视频的RawImage的锚点设为0,1
坐标系就变成了这样,Y轴和winform的是相反的
这是在UGUI上画的规则框,
在取点的位置的时候要取RectTransform.localPosition,这个数值是相对于其父对象的相对位置(点的父对象要设为这个RawImage)
这样在除以图片的宽高,得到的比例,就能和winfrom的匹配
一定不要用RectTransform.position
刚开始我用的也是这个值,算的比例和winform总对不上