unity 截图

2023-02-16  本文已影响0人  runinnn

using UnityEngine;

using UnityEngine.UI;

public class NewBehaviourScript : MonoBehaviour

{

    RenderTexture rt;  //RawImage上的RenderTexture

    Texture2D texture;

    Color color;

    void Start()

    {

        StartCoroutine(CaptureScreenshot());

    }

    IEnumerator CaptureScreenshot()

    {

        while (true)

        {

            //只在每一帧渲染完成后才读取屏幕信息

            yield return new WaitForEndOfFrame();

            //RawImage上的RenderTexture

            rt = GetComponent<RawImage>().texture as RenderTexture;

            texture = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false);

            RenderTexture.active = rt;

            texture.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);

            //RawImage上的trxture

            //texture = GetComponent<RawImage>().texture as Texture2D;

            texture.Apply();

            color = texture.GetPixel((int)Input.mousePosition.x, (int)Input.mousePosition.y);

            Debug.Log (

                  color.r * 255 + ",      "

                + color.g * 255 + ",      "

                + color.b * 255 + ",      "

                + color.a * 255);

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读