找回密码
 立即注册
查看: 214|回复: 0

十一、常见的格式互相转化

[复制链接]
发表于 2023-2-13 22:33 | 显示全部楼层 |阅读模式
Texture转Texture2D

/// 运行模式下Texture转换成Texture2Dprivate Texture2D TextureToTexture2D(Texture texture) {        Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false);        RenderTexture currentRT = RenderTexture.active;        RenderTexture renderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 32);        Graphics.Blit(texture, renderTexture);        RenderTexture.active = renderTexture;        texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);        texture2D.Apply();        RenderTexture.active = currentRT;        RenderTexture.ReleaseTemporary(renderTexture);        return texture2D;}texture转byte数组


Convert.FromBase64String(textureStr)
字符串转color对象


方式一:unity内置方法
string colorStr = "#FFF7F4";
ColorUtility.TryParseHtmlString(colorStr, out Color color);
字节数组转base64


Convert.ToBase64String(byte[] array)
图片文件转字串

/// <summary>    /// 将图片转化为字符串    /// </summary>    private string SetImageToString(string imgPath)    {        FileStream fs = new FileStream(imgPath, FileMode.Open);        byte[] imgByte = new byte[fs.Length];        fs.Read(imgByte, 0, imgByte.Length);        fs.Close();        return Convert.ToBase64String(imgByte);    }字符串转换为纹理

private Texture2D GetTextureByString(string textureStr)    {        Texture2D tex = new Texture2D(1, 1);        byte[] arr = Convert.FromBase64String(textureStr);        tex.LoadImage(arr);        tex.Apply();        return tex;    }
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 09:02 , Processed in 0.086627 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表