| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- using InfraredManager;
 
- using o0InfraredLocate.ZIM;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using UnityEngine;
 
- using UnityEngine.UI;
 
- using ZIM;
 
- using ZIM.Unity;
 
- //处理光源检测部分
 
- public class InfraredLightGuider2 : MonoBehaviour
 
- {
 
-     [SerializeField]
 
-     RawImage rawImage;
 
-     //相机感光部分
 
-     [SerializeField]
 
-     Slider slider;
 
-     //亮度
 
-     [SerializeField]
 
-     Slider sliderBrightness;
 
-     [SerializeField] List<RectTransform> _crosshairsInCamera;
 
-     // Start is called before the first frame update
 
-     void Start()
 
-     {
 
-         if (InfraredDemo._ins)
 
-         {
 
-             //对比度
 
-             slider.onValueChanged.AddListener((value) =>
 
-             {
 
-                 InfraredDemo._ins.onSliderCustomEvent(value,-20.0f,20.0f);
 
-             });
 
-             InfraredDemo._ins.onSetSliderCustomValue(slider,-20.0f, 20.0f);
 
-             //亮度
 
-             sliderBrightness.onValueChanged.AddListener((value) =>
 
-             {
 
-                 InfraredDemo._ins.onSliderCustomBrightnessEvent(value, -20.0f, 20.0f);
 
-             });
 
-             InfraredDemo._ins.onSetSliderCustomBrightnessValue(sliderBrightness, -20.0f, 20.0f);
 
-             SetLocatePointsToCameraRender(ScreenLocate.quadUnityVectorList,1,1);
 
-         }
 
-         Color currentColor = rawImage.color;
 
-         currentColor.a = Mathf.Clamp01(1);  // Clamp the alpha between 0 and 1
 
-         rawImage.color = currentColor;
 
-     }
 
-     void Update()
 
-     {
 
-         if (InfraredDemo.running)
 
-         {
 
-             //渲染相机画面
 
-             //渲染相机画面
 
-             Texture texture = InfraredDemo.infraredCameraHelper.GetCameraTexture();
 
-             if (rawImage.texture == null || texture.GetNativeTexturePtr() != rawImage.texture.GetNativeTexturePtr())
 
-                 rawImage.texture = texture;
 
-             //rawImage.material = InfraredDemo.infraredCameraHelper.GetCameraMaterial();
 
-             //在相机画面显示准心
 
-             if (ScreenLocate.Main)
 
-             {
 
-                 var _sl = ScreenLocate.Main;
 
-                 var buffer = _sl.infraredSpotBuffer;
 
-                 if (buffer != null)
 
-                 {
 
-                     for (int i = 0; i < buffer.Length; i++)
 
-                     {
 
-                         if (buffer[i].CameraLocation != null)
 
-                         {
 
-                             //添加一个偏移量,使得最后输出的准心是指向正中心
 
-                             Vector2 newPoint2 = _sl.GetOffsetCameraLocation(buffer[i].CameraLocation.Value);
 
-                             // 检测到光点
 
-                             var pos = newPoint2.pixelToLocalPosition_AnchorCenter(_sl.mUVCCameraInfo.Size, rawImage.rectTransform.rect);
 
-                             _crosshairsInCamera[i].gameObject.SetActive(true);
 
-                             _crosshairsInCamera[i].anchoredPosition = pos;
 
-                         }
 
-                         else
 
-                             _crosshairsInCamera[i].gameObject.SetActive(false);
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-     }
 
-     public void SetLocatePointsToCameraRender(List<Vector2> points, float w, float h)
 
-     {
 
-         Transform pointsTF2 = rawImage.transform.Find("Points");
 
-         if (pointsTF2.childCount == points.Count)
 
-         {
 
-             Vector2 texSize = new Vector2(w, h);
 
-             for (int i = 0; i < pointsTF2.childCount; i++)
 
-             {
 
-                 Transform pointTF = pointsTF2.GetChild(i);
 
-                 Vector2 pos = points[i];
 
-                 pointTF.localPosition = pos.pixelToLocalPosition_AnchorCenter(texSize, rawImage.rectTransform.rect);
 
-                 pointTF.gameObject.SetActive(true);
 
-             }
 
-         }
 
-     }
 
-     public void Close() {
 
-         Destroy(gameObject);
 
-     }
 
- }
 
 
  |