在这里记录一下在 Unity3D 中分别使用 WWW 和 IO 流加载外部图片

使用 WWW 加载

    /// <summary>
/// 使用 WWW 加载图片,并赋值给 _rawImage
/// </summary>
/// <param name="_url">图片地址</param>
/// <param name="_rawImage"></param>
/// <returns></returns>
public static IEnumerator LoadTexture2DByWWW(string _url, RawImage _rawImage)
{
WWW _www = new WWW(_url);
yield return _www;
if (_www.error == null)
{
_rawImage.texture = _www.texture;
}
else
{
Debug.LogError(_www.error);
}
}
/// <summary>
/// 使用 WWW 加载图片,并将图片转换成 Sprite 类型赋值给 _image
/// </summary>
/// <param name="_url">图片地址</param>
/// <param name="_image"></param>
/// <returns></returns>
public static IEnumerator LoadSpriteByWWW(string _url, Image _image)
{
WWW _www = new WWW(_url);
yield return _www;
if (_www.error == null)
{
_image.sprite = Sprite.Create(_www.texture, new Rect(, , _www.texture.width, _www.texture.height), new Vector2(0.5f, 0.5f));
}
else
{
Debug.LogError(_www.error);
}
}

使用 IO 流加载

     /// <summary>
/// 使用 IO 流加载图片,并返回。
/// </summary>
/// <param name="_url">图片地址</param>
/// <returns></returns>
public static Texture2D LoadTexture2DByIO(string _url)
{
//创建文件读取流
FileStream _fileStream = new FileStream(_url, FileMode.Open, FileAccess.Read);
_fileStream.Seek(, SeekOrigin.Begin);
//创建文件长度缓冲区
byte[] _bytes = new byte[_fileStream.Length];
_fileStream.Read(_bytes, , (int)_fileStream.Length);
_fileStream.Close();
_fileStream.Dispose();
//创建Texture
Texture2D _texture2D = new Texture2D(, );
_texture2D.LoadImage(_bytes);
return _texture2D;
}
/// <summary>
/// 使用 IO 流加载图片,并将图片转换成 Sprite 类型返回
/// </summary>
/// <param name="_url">图片地址</param>
/// <returns></returns>
public static Sprite LoadSpriteByIO(string _url)
{
Texture2D _texture2D = LoadTexture2DByIO(_url);
Sprite _sprite = Sprite.Create(_texture2D, new Rect(, , _texture2D.width, _texture2D.height), new Vector2(0.5f, 0.5f));
return _sprite;
}

Unity加载外部图片的更多相关文章

  1. Unity加载本地图片的2种方式

    1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...

  2. 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...

  3. Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现

     Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现 LayerDrawable实现的结果和附录文章1,2,3中的layer-list一致. ...

  4. Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框

     Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...

  5. [转]全面理解Unity加载和内存管理

    [转]全面理解Unity加载和内存管理 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质 ...

  6. FusionCharts简单教程(六)------加载外部Logo

    一.加载外部文件Logo       在使用FusionCharts时,我们可能需要在加载图像的时候需要在图表中显示标识.图片等等.这里我们可以使用logoURL属性来实现.如: <chart ...

  7. UNITY_资源路径与加载外部文件

    UNITY_资源路径与加载外部文件 https://www.tuicool.com/articles/qMNnmm6https://blog.csdn.net/appppppen/article/de ...

  8. PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍

    一. Phonegap 白名单安全机制 Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器 视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了 ...

  9. 【Win 10 应用开发】加载外部的 srt 字幕

    据说系统内置的多媒体功能支持 srt. ssa 等字幕,老周测试过几种格式的字幕均能加载. SRT 字幕是最简单的字幕结构,甚至你用记事本都能做出来,就是分为几行来写. 第一行是字幕的编号,应该是从1 ...

随机推荐

  1. could not open input file 错误

    配置laravel时遇到的小错误 ps:php -S localhost:81 -t 框架目录/public S大写 端口不要被占用

  2. 转载——JavaScript学习笔记:取数组中最大值和最小值

    转载自:http://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html. 取数组中最大值 可以先把思路 ...

  3. jenkins登录后页面显示为空的问题

    1.然后再打开一个新的窗口,输入网址http://localhost:8080/jenkins/pluginManager/advanced,输入网址打开后滑动到页面下方,最底下有个[升级站点],把其 ...

  4. 使用拦截器对前端传入的字符串进行trim操作

    @Before("apiItf()") public void before(JoinPoint joinPoint) throws Exception { Object[] ar ...

  5. Bootstrap中的data-toggle,data-target

    data-toggle指以什么事件触发常用的如collapse,modal,popover,tooltips等:data-target指事件的目标, 一起使用就是代表data-target所指的元素以 ...

  6. Django启动报错笔记

    NO.1: You have 15 unapplied migration(s). Your project may not work properly until you apply the mig ...

  7. Linux NGINX部署

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  8. Linux seq_printf输出内容不完整的问题

    Linux seq_printf输出内容不完整的问题 写在前面的话:这是多年前在项目中遇到的问题,作为博客的开篇之作,有不足之处,请各位大侠斧正!谢谢! seq_file接口介绍 有许多种方法能够实现 ...

  9. django项目 报错:ImportError: cannot import name choice

    今天项目开发中遇到一个错误,排查了很久才发现原因,现在分享出来,希望对大家有所帮助. 错误描述:在项目中添加了一个random.py的类,导入random中的choice,并在randstr方法中使用 ...

  10. 链接错误:multiple definition of 'xxx' 问题解决及其原理

    内容借鉴 于CSDN炸鸡叔 错因 截图: “multiple definition of  'head' ” “multiple definition of  'tail' ” 解决过程: 1.首先要 ...