当前位置:   article > 正文

unity中Sprite、Texture2D和bytes[]的转换_unity byte转texture

unity byte转texture

从流数据转成Sprite,需要使用Texture2D作为中转

1、从sprite 转换到bytes[]

  1. public byte[] GetByte(Sprite sp)
  2. {
  3. //转换成Texture
  4. Texture2D temp = sp.texture;
  5. //在转换成bytes
  6. byte[] photoByte = temp.EncodeToPNG();
  7. return photoByte;
  8. }

2、从bytes[] 转换到Sprite

  1. public Sprite GetSprite(Byte[] bytes)
  2. {
  3. //先创建一个Texture2D对象,用于把流数据转成Texture2D
  4. Texture2D texture = new Texture2D(10, 10);
  5. texture.LoadImage(bytes);//流数据转换成Texture2D
  6. //创建一个Sprite,以Texture2D对象为基础
  7. Sprite sp = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
  8. return sp;
  9. }

 

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

闽ICP备14008679号