Unity加载外部图片
在这里记录一下在 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加载外部图片的更多相关文章
- Unity加载本地图片的2种方式
1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...
- Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现
Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现 LayerDrawable实现的结果和附录文章1,2,3中的layer-list一致. ...
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...
- [转]全面理解Unity加载和内存管理
[转]全面理解Unity加载和内存管理 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质 ...
- FusionCharts简单教程(六)------加载外部Logo
一.加载外部文件Logo 在使用FusionCharts时,我们可能需要在加载图像的时候需要在图表中显示标识.图片等等.这里我们可以使用logoURL属性来实现.如: <chart ...
- UNITY_资源路径与加载外部文件
UNITY_资源路径与加载外部文件 https://www.tuicool.com/articles/qMNnmm6https://blog.csdn.net/appppppen/article/de ...
- PhoneGap 白名单安全机制 navigator.app 加载外部页面返回以及退出介绍
一. Phonegap 白名单安全机制 Phonegap应用的页面大多存在于本地,但有时需要加载外部的Web页面到应用内置的浏览器 视图中已完成特定的应用功能,出于安全性考虑,PhoneGap 设立了 ...
- 【Win 10 应用开发】加载外部的 srt 字幕
据说系统内置的多媒体功能支持 srt. ssa 等字幕,老周测试过几种格式的字幕均能加载. SRT 字幕是最简单的字幕结构,甚至你用记事本都能做出来,就是分为几行来写. 第一行是字幕的编号,应该是从1 ...
随机推荐
- Failed to introspect annotated methods on class 异常
用@enable时出现错误 Failed to introspect annotated methods on class 很可能是库和springboot版本不一致
- Codeforces Round #436 D. Make a Permutation!
题意:给你n个数字,其中可能有相同的数字,要求你用其他的数字替换这些相同的数字,使得所得的序列字典序最小. Examples Input 43 2 2 3 Output 21 2 4 3 Input ...
- FPGA_VHDL 学习课堂笔记001
FPGA_VHDL 学习课堂笔记 记录说明:本文档主要记录大学期间,老师FPGA授课课堂笔记. 代码语言:VHDL 编程软件:MAX+plus II FPGA硬件:FLE-843 03月05日 ...
- Spring:事务
摘要 本文摘抄了Spring事务相关的一些理论,主要讲述事务的特性.事务的传播行为.事务的隔离规则. 关键词:事务特性,事务传播,事务隔离 一.什么是事务 事务是用来保证数据的完整性和一致性,正如金钱 ...
- Android 如何避免运行时奔溃
奔溃问题 android运行的时候难免会有一些空指针(NullPointerException)或者下标越界(IndexOutOfBoundsException),用户使用的过程操作某一个按钮的时候, ...
- Python基础-python流程控制之顺序结构和分支结构(五)
流程控制 流程:计算机执行代码的顺序,就是流程 流程控制:对计算机代码执行顺序的控制,就是流程控制 流程分类:顺序结构.选择结构(分支结构).循环结构 顺序结构 一种代码自上而下执行的结构,是pyth ...
- NET CORE 2.0发布在IIS上提示502.5错误
在装了WindowsHosting和NET CORE SDK后,如果没有重启服务器,访问站点报以上错误,解决办法要么重启,要么执行以下两条命令: net stop was /y net start w ...
- 2018-2019-2 20165315《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165315<网络攻防技术>Exp5 MSF基础应用 目录 一.实验内容 二.实验步骤 1.一个主动攻击实践 ms08_067(成功) 2.一个针对浏览器的攻击 ...
- Java并发编程:深入剖析ThreadLocal(转)
目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.ThreadLocal的应用场景 原文链接:http://www.cnblogs.com/dolphin052 ...
- 发布后就很丢人的随笔(c++)
for循环条件中使用的变量 可以是循环条件中定义的变量 也可以是循环之外的变量 代码: #include <iostream> int main(){ int a = 1; int b = ...