| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using Serenegiant.UVC;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using UnityEngine;
- using ZIM;
- /// <summary>
- /// JC-补充接口
- /// </summary>
- 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<Vector2> 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;
- }
- }
|