实现思路

Unity加载外部图片可以通过文件流和WWW的形式加载出来,再根据加载出来的纹理图片创建为精灵图片,赋值给Image对象即可;放大的思路主要是创建一张固定大小的Image图,点击小图时,将小图的sprite赋值给大图的sprite即可,也可以将大图的宽高设置为图片原始的width和height。

demo场景搭建


新建图片文件夹,并添加几张图片用来测试:

脚本实现

分别可以用文件流和WWW的形式加载图片,并有放大图片、查看上一张下一张图片的功能。








以上就是整个脚本从上到下的完整截图,注释也很完整,想不懂都难吧…然后将脚本挂载到任意一个物体上,并拖拽相关物体到脚本面板上:

效果展示




遇到的问题

1.加载出来的图片显示红色问号:

于是我调试排查了一下,正常显示的图片位深度是ARGB32位的,显示问号的图片位深度是RGB24位的,好像Unity无法加载RGB24位的图片?所以出现了加载图片显示问号的情况,一开始我查看图片属性的位深度都是32位的呀,令我很奇怪,后来想了想有可能是我直接从百度下载下来的图片改了后缀导致的,下载的图片是webp格式的,然后我改成了png和jpg格式,我看能在电脑上能正常显示,以为也可以在unity加载出来。以前我也遇到过加载图片显示问号的情况,所以这里就做一个小小的总结吧。

总结

避免Unity加载外部图片出现显示问号的情况,应注意以下几点:

  1. 图片路径尽量使用英文路径,特别是低版本(指的是2017以下的版本,低版本对中文支持低,会导致加载失败的情况),2017的版本没测试过暂时不了解,像2018以上的版本对中文的支持提高了,好像没发现有这个问题。
  2. 图片位深度需是8/16/32位的,RGB24位的无法加载,如果是24位的可以用导入PS设置为32位的再导出使用。
  3. 网上下载的图需要用图片格式转换器转为Unity支持的图片格式。

Unity实现加载文件夹内所有图片并可显示和放大的一种解决方案相关推荐

  1. unity加载文件夹下的所有预制体

    public static void GetFileGame(string name)//文件夹名称 { foreach (var item in Directory.GetFiles(Applica ...

  2. 使用tf.data 加载文件夹下的图片集合并分类

    Tensorflow原始教程链接在官网: https://tensorflow.google.cn/tutorials/load_data/images 简化版: https://colab.rese ...

  3. go gin框架:StaticFS搭建文件服务器(可以加载文件夹及文件)

    Static只能展示文件,比如展示图片等 StaticFS可以连目录也一起展示 package mainimport ("net/http""github.com/gin ...

  4. 【Godot】加载文件数据

    Godot 3.3 rc6 接着上个教程 [GDScript]装备栏 我们开始给物品数据加载出来,之前使用资源的方式是用来加载小量数据的,如果是大量数据,那就不可避免需要加载文件中的数据. 加载数据代 ...

  5. Scatterfile分散加载文件和 mem.scf

     今天仔细学习周立功的模板的过程中,发现了几个.scf文件,自己不知道这是什么东西,所以学习了下: (一) 这是一位网友写的关于mem_a.scf,mem_b.scf,mem_c.scf文件的见解 ...

  6. Python OpenCV 批量修改文件夹内所有图片的尺寸

    Python OpenCV 批量修改文件夹内所有图片的尺寸 简述 插件 遍历所有文件(包括子文件) 缩放图片尺寸并保存图片 遍历并修改图片 简述 遍历文件夹下的所有子文件(包括自文件夹内的)的图片批量 ...

  7. html资源加载,如何加载文件资源 (HTML)

    如何加载文件资源 (HTML) 01/28/2016 本文内容 [ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员.如果你要针对 ...

  8. mysql core 文件_MySQL未能加载文件或程序集“Ubiety.Dns.Core”或它的某一个依赖项 问题的解决...

    在VS2019中使用Nuget的方式添加了最新的MySQL包 MySql.Data 8.0.19 ,默认添加了个Ubiety.Dns.Core,不知道有什么用,但是启动程序后就报错. "/& ...

  9. 未能加载文件或程序集“SqlServerDal”或它的某一个依赖项。系统找不到指定的文件。...

    今天遇到一个挺怪的问题,采用了工厂模式后,出去找不到程序集的问题: 未能加载文件或程序集"Tianyige.SqlServerDAL"或它的某一个依赖项.系统找不到指定的文件. 解 ...

最新文章

  1. 2022-2028年中国数字乡村建设深度调研及投资前景预测报告
  2. HDOJ HDU 2080 夹角有多大II ACM 2080 IN HDU
  3. C#学习笔记--详解委托,事件与回调函数
  4. 2020-11-29(准备考试)
  5. 《Linux》解决Linux端口被占用
  6. JavaScript基本语法(续)
  7. mysql savepoint作用_savepoint原理
  8. 了解如何通过Python使用SQLite数据库
  9. Van-UI发送验证码demo -效果篇
  10. typroa设置字体的颜色
  11. Program E的Flash前端
  12. Win10 安装rational rose 7教程
  13. php汉字转拼音插件,PHP中文转拼音优质解决方案-composer转拼音第三方插件-爱测速网...
  14. 为skynet的crypt库扩展一些加密(摘要)算法支持
  15. 2020年中级数据库系统工程师考试笔记7—关系数据库1
  16. 员工信息表,增删查改程序
  17. Jamie Zawinski访谈:C++之恶
  18. registrar计算机词汇,HR常用短语英语词汇表(转载)
  19. SVG排版教程 | 样式背景属性详解与应用
  20. 电脑误删除的文件怎么恢复

热门文章

  1. SpringCloud(二)——Eureka的使用和集群搭建
  2. https证书风险修复
  3. 如何为HTML5 Video载入WebVTT字幕
  4. 控制儿童在什么时段使用计算机,win10系统设置控制孩子用电脑的时间的图文步骤...
  5. 企业微服务治理的解决思路
  6. python time模块以秒计时保留两位小数,格式化时间戳
  7. tl494组成的超声波发射电路_由TL494构成的恒流闭环控制电路的设计与实现 - 全文...
  8. 【故事】P2P、BT、ED2k、FTP、磁力链接下载到底是什么鬼?
  9. 华为机试 - 最大矩阵和
  10. 数据库的三个范式(sql server ,oracle ,db2...)