Unity Texture和Base64互转


一、TextureToBase64

	/// <summary>
	/// TextureToBase64普通转换
	/// </summary>
	/// <param name="texture2D"></param>
	/// <returns></returns>
	public static string TextureToBase64(Texture2D texture2D)
	{
		byte[] imageData = texture2D.EncodeToJPG();
		string baser64 = Convert.ToBase64String(imageData);
		return baser64;
	}

    /// <summary>
    /// 图片文件普通转换
    /// </summary>
    /// <param name="filePath"></param>
    /// <returns></returns>
    public static string TextureFileBase64(string filePath)
    {
        FileStream filestream = new FileStream(filePath, FileMode.Open);
        byte[] arr = new byte[filestream.Length];
        filestream.Read(arr, 0, (int)filestream.Length);
        string baser64 = Convert.ToBase64String(arr);
        filestream.Close();
        return baser64;
    }

	/// <summary>
	/// TextureToBase64网页解析专用
	/// </summary>
	/// <param name="texture2D"></param>
	/// <returns></returns>
	public static string TextureToBase64_Prefixing(Texture2D texture2D)
	{
		return "data:image/jpeg;base64," + TextureToBase64(texture2D);
	}

二、Base64ToTexture

    public static Texture2D Base64ToTexture(string imageData)
    {
        Texture2D pic = new Texture2D(190, 190, TextureFormat.RGBA32, false);
        byte[] data = System.Convert.FromBase64String(imageData);
        pic.LoadImage(data);
        return pic;
    }
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Base64编码的字符串换为图片,在Unity中可以使用以下代码: ```csharp using System; using UnityEngine; using System.IO; public static class ImageUtils { public static Texture2D Base64ToTexture2D(string base64) { byte[] imageBytes = Convert.FromBase64String(base64); Texture2D texture = new Texture2D(1, 1); texture.LoadImage(imageBytes); return texture; } public static void SaveTextureToFile(Texture2D texture, string filePath) { byte[] bytes = texture.EncodeToPNG(); File.WriteAllBytes(filePath, bytes); } } ``` 上面的代码中,`Base64ToTexture2D`方法将Base64编码的字符串换为Texture2D对象,`SaveTextureToFile`方法将Texture2D对象保存为PNG文件。使用时,您可以将Base64字符串传递给`Base64ToTexture2D`方法,然后使用`SaveTextureToFile`方法将其保存为文件。 以下是使用示例: ```csharp string base64 = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABlBMVEUAAAD/" + "////fwD///8p5hYAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZ" + "cwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My4w" + "OyBodHRwOi8vd3d3LnBhaW50Lm5ldC9zdmcvOFYzL2JpbmFyeS54bWwA/wAA" + "AAD//z8L8AAAAJcEhZcwAADsIAAA7CARUoSoAAAAHdElNRQfiBRsJAxv3nYu" + "AAABgklEQVQoz6WQPUvDUBDFf6XcXRy6R8JZGk2pW4jA6NqoXuA8F4j7NcXw" + "SugdI2L9ApLq4KJ0i7Qd4q9e5/7gHcxd7Mn3nO+c3W3O5UtJ+LRf2hWTQlE" + "ZatFxWInx6Yw8GZpkz1KsS2E1e4rVJG4cRgQxltbNvIu+2wFPhW8z0vWZkR" + "vZVJL0QZ9L5A8aEc5xZg6zj2dXjB7L9mK3HW+0vZlB1m3EY1WzgJlRlj6cD" + "9zjX5l9L+8hJZmK8eJ8wzESU8vL7+7Iy4tTz8HqQ4eNf7o5zCQ2vCvFvV3R" + "e0b8HsJTAxIeesb4JYwhk0XHwAAAABJRU5ErkJggg=="; Texture2D texture = ImageUtils.Base64ToTexture2D(base64); ImageUtils.SaveTextureToFile(texture, Application.dataPath + "/image.png"); ``` 上面的代码将Base64字符串换为Texture2D对象,并将其保存为`image.png`文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值