Unity 读取本地文件夹图片
下面脚本实现的功能:
1.将本地图片(PNG和JPG)加载到UGUI上的Button的Image
2.用Scroll View组件自动排列
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.UI;public class Choose : MonoBehaviour
{private GameObject canvas;private Button _btn;private GameObject button;private List<Texture2D> images = new List<Texture2D>();void Start(){canvas = GameObject.Find("Canvas/Scroll View/Viewport/Content");load();for (int i = 0; i < images.Count; i++){button = new GameObject("Button" + i, typeof(Button), typeof(RectTransform), typeof(Image)); //创建一个GameObject 加入Button组件button.transform.SetParent(this.canvas.transform); //把Canvas设置成Button的父物体_btn = button.GetComponent<Button>(); //获得Button的Button组件//先创建一个Texture2D对象,用于把流数据转成Texture2DSprite sprite = Sprite.Create(images[i], new Rect(0, 0, images[i].width, images[i].height), Vector2.zero);button.GetComponent<Image>().sprite = sprite;button.GetComponent<Button>().onClick.AddListener(ChooseButton);}}/// <summary>/// 加载文件夹内图片/// </summary>void load(){List<string> filePaths = new List<string>();string imgtype = "*.BMP|*.JPG|*.GIF|*.PNG";string[] ImageType = imgtype.Split('|');for (int i = 0; i < ImageType.Length; i++){//获取Application.dataPath文件夹下所有的图片路径 string[] dirs = Directory.GetFiles((Application.dataPath + "/Resources/Screenshot/"), ImageType[i]);for (int j = 0; j < dirs.Length; j++){filePaths.Add(dirs[j]);}}for (int i = 0; i < filePaths.Count; i++){Texture2D tx = new Texture2D(100, 100);tx.LoadImage(getImageByte(filePaths[i]));images.Add(tx);}}/// <summary> /// 根据图片路径返回图片的字节流byte[] /// </summary> /// <param name="imagePath">图片路径</param> /// <returns>返回的字节流</returns> private static byte[] getImageByte(string imagePath){FileStream files = new FileStream(imagePath, FileMode.Open);byte[] imgByte = new byte[files.Length];files.Read(imgByte, 0, imgByte.Length);files.Close();return imgByte;}public void ChooseButton(){//UGUI上Button按钮事件Debug.Log("按下了");}}
@Liam:有用→收藏→关注 听说长得好看的人都这么做!
Unity 读取本地文件夹图片相关推荐
- PHP 八羊闪电本地相册图片查看器V1 PHP极简代码直接查看本地文件夹图片 源码下载!
该源码,直接读取本地IMGAGES文件夹的图片,直接显示在相册,点击放大查看,非常方便,非常适合二次开发,但是不适合小白.没有做UI和设计,比较简陋,所以仅仅售价10元钱,想要的就拿去,不想要的就别拍 ...
- QListWidget读取本地文件夹中文件并显示名字,双击读取xml数据
文章目录 前言 一.读取本地文件并显示 二.双击读取数据 前言 本文主要是为了解决QListWidget读取本地文件夹中文件,并且显示的问题.然后双击读取其中xml数据 一.读取本地文件并显示 如下的 ...
- Html读取本地文件夹下图片并显示的示例代码
一 目的 在Html上选择本地文件夹,自动读取文件夹及子文件夹下的所有图片并显示在页面. 技术分析: 存在问题 Html中file标签获取到的路径时相对的. Html中Img指定源时需要的是绝对路径. ...
- 自动展示目录下的图片html,Html读取本地文件夹下图片并显示
一 目的 在Html上选择本地文件夹,自动读取文件夹及子文件夹下的所有图片并显示在页面. 技术分析: 存在问题 Html中file标签获取到的路径时相对的. Html中Img指定源时需要的是绝对路径. ...
- Html读取本地文件夹下文件
目的 在Html上选择本地文件夹,自动读取文件夹及子文件夹下的所有文件(本例以图片为例)并显示. 技术分析 存在问题 Html中file标签获取到的路径时相对的. Html中Img指定 ...
- uni 获取本地文件_APP读取本地文件夹内视频播放
需要用到的几个方法: // 从本地缓存中同步获取指定 key 对应的内容. uni.getStorageSync(KEY) // 下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文 ...
- 【100个 Unity实用技能】☀️ | Unity读取本地文件(Json,txt等)的三种方法示例
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- Unity打开电脑本地文件夹选择图片替换
Unity打开电脑本地文件夹选择图片替换 创建工程添加对应的UI如图所示 创建ChangeImage脚本来监听按钮事件 创建OpenFileName脚本 将代码挂在到窗口,点击运行 创建工程添加对应的 ...
- 用python读取pg数据库中的blob类型图片数据,转换存成jpg格式存到本地文件夹
先啰嗦一下,热热身 在工作中,我们常见到数据库中的数据类型主要为char,varchar,text等,但是有时我们也会用blob格式来存储语音文件或者图像文件,在网上找了很多,都没找到合适的办法,只好 ...
- [Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误
虽然 (Texture2D)Resources.Load(pngFilePath); 可以读取图片, 但是当项目工程文件中存储大量图片,几百万个图片的时候,就会出现项目编译卡顿,等待时间过长的问题. ...
最新文章
- java人脸识别更新:摄像头支持360、火狐和谷歌浏览器
- linux apache2.4环境,浅谈SUSE Linux下Apache2.4.43部署
- python selenium 环境_配置Python Selenium环境
- Beetl学习(一)
- ARP协议具体解释之Gratuitous ARP(免费ARP)
- 收藏精美网页设计作品的200佳网站推荐(系列五)
- 新版掌上阅读小说源码+支持公众号/分站/封装APP
- 抖音视频什么时候投放dou+最好,dou+投放实战总结:国仁网络资讯
- unity Google 广告接入 SDK Android
- android使用at指令集,详细的AT指令集
- 企业微信的消息如何在个人微信上读取?
- Windows禁用端口(445端口为例)
- 微信小程序 某个页面直接返回首页(微信小程序回退到首页)
- python plt绘制多子图
- 使用XUnit的测试驱动开发过程
- 使用蓝桥杯单片机做一个智能密码锁可以修改密码
- XILINX FPGA OV5640 摄像头驱动(一)
- redis实战(12):Redis性能监控指标汇总
- 用函数求斐波那契数列前n项和
- 我在京东做研发第五期:京东云自研服务器,如何将开发成本降低 60% 的同时还更低碳环保?
热门文章
- 【Rust 笔记】08-枚举与模式
- C 里 求 log2 N 的问题
- 创意无价,优化 百度、Bing、Duckduckgo 三大国际搜索引擎
- 一级标题段前段后一行设置方法
- Image data of dtype object cannot be converted to float 问题解决
- 专访:6位飞桨开发者的「新生代」AI创新故事!
- 如何使用ERD设计关系数据库?
- 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
- 服务器被攻击显示,怎么查看服务器被攻击
- Unity3D 2D设计小游戏移动幻影的实现