博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity】微信登录后将头像存为bytes,将bytes读取成sprite图片
阅读量:4085 次
发布时间:2019-05-25

本文共 1634 字,大约阅读时间需要 5 分钟。

using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using UnityEngine.UI;using System;using qynewmj.Tools;using qynewmj.Helper;public class GetImage{   // 掉DownLoadUri(uri) 方法···接HttpDownLoadCompleted事件 HttpDownLoadCompleted(arg1, arg2);     //第一个给你的参数是uri,第2个byte[] 你可以先判断uri是不是等于你刚才传进去的···    public static Sprite DownLoadImage(string url)    {        string md5 = MD5Tool.MD5HashString(url);        string fileName = Application.persistentDataPath + "/" + md5 + ".jpg";        bool exist = File.Exists(fileName);              // 如果存在        if (exist)        {            return LoadAlreadlySaveFile(fileName);        }        else        {            // 开启下载,会触发bytes回调(uri,byte[])            ApiHelper.Instance.DownLoadUri(url);            return  null;        }    }    public  static Sprite SaveImage(string url,byte[] bytes)    {        string md5 = MD5Tool.MD5HashString(url);        string fileName = Application.persistentDataPath + "/" + md5 + ".jpg";        FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);		fs.Write(bytes, 0, bytes.Length);		fs.Close();        return LoadAlreadlySaveFile(fileName);    }    private static Sprite LoadAlreadlySaveFile(string fileName)    {        FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);		byte[] imgByte = new byte[fs.Length];		fs.Read(imgByte, 0, imgByte.Length);		Texture2D tex = new Texture2D(80,80);		try		{			tex.LoadImage(imgByte);		}		catch (Exception ex)		{		}		Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));		fs.Close();        return sprite;	}}

转载地址:http://sbkii.baihongyu.com/

你可能感兴趣的文章
剑指_复杂链表的复制
查看>>
FTP 常见问题
查看>>
do_generic_file_read()函数
查看>>
Python学习笔记之数据类型
查看>>
shell 快捷键
查看>>
VIM滚屏操作
查看>>
将file文件内容转成字符串
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
platform_driver平台驱动注册和注销过程(下)
查看>>
.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
查看>>
c# 如何调用win8自带的屏幕键盘(非osk.exe)
查看>>
build/envsetup.sh 简介
查看>>
linux怎么切换到root里面?
查看>>
编译Android4.0源码时常见错误及解决办法
查看>>
Android 源码编译make的错误处理
查看>>
启用SELinux时遇到的问题
查看>>
virbr0 虚拟网卡卸载方法
查看>>
No devices detected. Fatal server error: no screens found
查看>>
新版本的linux如何生成xorg.conf
查看>>
Centos 6.0_x86-64 终于成功安装官方显卡驱动
查看>>