using Serenegiant.UVC; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using ZIM; /// /// JC-补充接口 /// public partial class ScreenLocate : MonoBehaviour { public bool IsScreenLoateOK() { return screenIdentification != null && screenIdentification.Screen != null && screenIdentification.Screen.Active; } public bool IsScreenLocateManualDoing() { return mode == Mode.ScreenLocateManual; } public Texture2D EnterScreenLocateManual() { CreateUVCTexture2DIfNeeded(); Texture2D texture = mUVCTexture2D.zimAutoLight(0); mode = Mode.ScreenLocateManual; return texture; } public void QuitScreenLocateManual(List points) { if (points != null && points.Count == 4) { var size = getUVCCameraInfoSize; screenIdentification?.SetScreenQuad( new QuadrilateralInCamera( new o0.Geometry2D.Float.Vector(points[0].x * size.x, points[0].y * size.y), new o0.Geometry2D.Float.Vector(points[1].x * size.x, points[1].y * size.y), new o0.Geometry2D.Float.Vector(points[3].x * size.x, points[3].y * size.y), new o0.Geometry2D.Float.Vector(points[2].x * size.x, points[2].y * size.y), size.o0Vector() ) ); } ToMode(Mode.InfraredLocate); } public void EnterScreenLocateManualAuto() { BtnScreenLocate(); } public void SetCapture(int value) { Capture = value; } public void SetDelay(int value) { Delay = value; } }