using UnityEngine; using System; public class Base64ToTexture { public static Texture2D ConvertBase64ToTexture(string base64String) { try { // 移除 base64 字符串中可能包含的 header(如果有的话) // 例如:"data:image/jpeg;base64," if (base64String.Contains(",")) { base64String = base64String.Split(',')[1]; } // 将 base64 字符串转换为字节数组 byte[] imageBytes = Convert.FromBase64String(base64String); // 创建新的 Texture2D // 这里先创建一个 2x2 的临时纹理,加载后会自动调整大小 Texture2D texture = new Texture2D(2, 2); // 加载图片数据 if (texture.LoadImage(imageBytes)) { return texture; } else { Debug.LogError("Failed to load image from base64 string"); return null; } } catch (Exception e) { Debug.LogError($"Error converting base64 to texture: {e.Message}"); return null; } } }