RenderTextureSprite截图并解决画面太暗的问题

2022-5-16 18:49| 发布者: Hocassian| 查看: 114| 评论: 0|原作者: 梓喵出没

摘要:
C:\Users\Administrator\Downloads\2019-10-13-23-2-14-129306682861500-文章归档 梓喵出没-采集的数据-后羿采集器.html

标题

RenderTexture Sprite截图并解决画面太暗的问题

链接

https://www.azimiao.com/4301.html

阅读量

514 人阅读

日期时间

2018-11-10

作者

梓喵·技术

正文

RenderTexture截图

1.原理

通过Texture2D的ReadPixels方法将读取RenderTexture数据,据此创建一个Sprite。

2.代码

//RenderTexture
public RenderTexture mainPadTexture;
//要填充的Image
public Image screenTexturImage;
//读取大小
private Rect screenShotSize;

public void GetASnap()
{
    //获取大小
    screenShotSize = new Rect();
    screenShotSize.x = 0;
    screenShotSize.y = 0;
    screenShotSize.width = mainPadTexture.width;
    screenShotSize.height = mainPadTexture.height;

    //if (this.gameObject.activeSelf)
    {
        //激活当前的渲染贴图
        RenderTexture.active = mainPadTexture;
        //创建2d纹理
        Texture2D screenShot = new Texture2D((int)screenShotSize.width, (int)screenShotSize.height, TextureFormat.RGB24, false);
        //读取
        screenShot.ReadPixels(screenShotSize, 0, 0);
        screenShot.Apply();
        //创建精灵
        Sprite spr = Sprite.Create(screenShot, screenShotSize, Vector2.zero);
        screenTexturImage.sprite = spr;
    }
}

RenderTexture太暗

在RenderTexture的Inspector面板中,勾选sRGB(Color RenderTexture)选项。


路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部