当前位置:   article > 正文

Unity解析Base64的图片_unity base64 数据类型

unity base64 数据类型

Unity解析Base64的图片

项目中有需求,要将从网络中接收到的Base64(string)在项目中转换为图片(Texture2D)使用。稍微看了一下,其实很简单,这里记录一下:

Texture2D _texture = new Texture2D(4096, 4096);
_texture.LoadImage(Convert.FromBase64String(m_textureBase64));
  • 1
  • 2

这样就可以,获取到图片了。
代码中Texture2D的长宽高是和后台、引擎的同学沟通之后获得的,或可在网络传输时获得;然后通过Convert.FromBase64String函数将字符串string的Base64转化为byte[]类型;然后通过LoadImage函数读取该byte[]结果;便可以获得图片Texture2D
LoadImage函数是UnityEngine库中静态类ImageConversion中的方法,他可以被Texture2D类直接调用。该类中还有一些常用的方法函数,包括:

[NativeMethod(Name = "ImageConversionBindings::EncodeToEXR", IsFreeFunction = true, ThrowsException = true)]
public static byte[] EncodeToEXR(this Texture2D tex, Texture2D.EXRFlags flags);
public static byte[] EncodeToEXR(this Texture2D tex);
[NativeMethod(Name = "ImageConversionBindings::EncodeToJPG", IsFreeFunction = true, ThrowsException = true)]
public static byte[] EncodeToJPG(this Texture2D tex, int quality);
public static byte[] EncodeToJPG(this Texture2D tex);
[NativeMethod(Name = "ImageConversionBindings::EncodeToPNG", IsFreeFunction = true, ThrowsException = true)]
public static byte[] EncodeToPNG(this Texture2D tex);
[NativeMethod(Name = "ImageConversionBindings::EncodeToTGA", IsFreeFunction = true, ThrowsException = true)]
public static byte[] EncodeToTGA(this Texture2D tex);
[NativeMethod(Name = "ImageConversionBindings::LoadImage", IsFreeFunction = true)]
public static bool LoadImage([NotNull] this Texture2D tex, byte[] data, bool markNonReadable);
public static bool LoadImage(this Texture2D tex, byte[] data);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

当然这也只是一部分,还有一些我并没有使用遇到,之后其用法再做补充。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/118480
推荐阅读
相关标签
  

闽ICP备14008679号