本文共 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/