不可保存的图片如何保存

2023-07-30  本文已影响0人  最怕认真
    private Texture2D CopyT2DToWrite(Texture source)
    {
        // 先把Texture2D转成临时的RenderTexture
        RenderTexture renderTex = RenderTexture.GetTemporary(
                    source.width,
                    source.height,
                    0,
                    RenderTextureFormat.Default,
                    RenderTextureReadWrite.Linear);
        Graphics.Blit(source, renderTex);
        RenderTexture previous = RenderTexture.active;
        RenderTexture.active = renderTex;
        // 复制进新的Texture2D
        Texture2D readableText = new Texture2D(source.width, source.height);
        readableText.ReadPixels(new Rect(0, 0, renderTex.width, renderTex.height), 0, 0);
        readableText.Apply();
        // 恢复_释放 RenderTexture
        RenderTexture.active = previous;
        RenderTexture.ReleaseTemporary(renderTex);
        return readableText;
    }
上一篇 下一篇

猜你喜欢

热点阅读