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 ...
随机推荐
- flex布局-css
1.html <div id="parent"> <div id="child1"></div> <div id=& ...
- 64位的windows服务安装问题
需要使用64位的安装exe文件才可以. @echo offC:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe -i &quo ...
- ModelSerializer Meta设置
class AccountSerializer(serializers.ModelSerializer): class Meta: # 模型名称 model = User # 序列化返回的字段 fie ...
- 求1!+2!+3!+......+n!的和 -----C++-----
#include<iostream> using namespace std; int function(int x) { ; ;i<=x;i++) sum=sum*i; retur ...
- Vue父子组件生命过程
加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-& ...
- Java第二周作业
Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...
- L3-021 神坛(极角排序求三角形最小面积)
在古老的迈瑞城,巍然屹立着 n 块神石.长老们商议,选取 3 块神石围成一个神坛.因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好.特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面 ...
- js 中格式化显示时间
function getMyDateTime(str){ var oDate = new Date(str), oYear = oDate.getFullYear(), oMonth = oDate. ...
- odoo 数据库到期提醒
- GOF23设计模式
单例设计模式 饿汉式: