当前位置: 首页 > news >正文

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser,Unity打开文件选择器

下载地址:GitHub链接:

https://github.com/gkngkc/UnityStandaloneFileBrowser

简单的示例代码

using SFB;
using System;
using System.IO;
using UnityEngine;
using UnityEngine.UI;public class NewBehaviourScript : MonoBehaviour
{/// <summary>/// 用于显示图片的image/// </summary>public Image myimage;/// <summary>/// 图片选择按钮/// </summary>public Button btnSelect;/// <summary>/// 图片读取按钮/// </summary>public Button btnRead;private void Start(){btnSelect.onClick.AddListener(OnSelectImageButtonClicked);btnRead.onClick.AddListener(LoadAndDisplayBase64Image);}public void OnSelectImageButtonClicked(){//        // Open file with filter//        var extensions = new[] {//    new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),//    new ExtensionFilter("Sound Files", "mp3", "wav" ),//    new ExtensionFilter("All Files", "*" ),//};// Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" )};string[] paths = StandaloneFileBrowser.OpenFilePanel("Select Image", "", extensions, false);if (paths.Length > 0){string imagePath = paths[0];byte[] imageData = File.ReadAllBytes(imagePath);// 将图像数据转换为Base64字符串string base64ImageString = Convert.ToBase64String(imageData);// 将Base64字符串写入文本文件File.WriteAllText(Application.streamingAssetsPath + "/image_data.txt", base64ImageString);}}public void LoadAndDisplayBase64Image(){if (File.Exists(Application.streamingAssetsPath + "/image_data.txt")){// 从文件读取Base64字符串string base64ImageString = File.ReadAllText(Application.streamingAssetsPath + "/image_data.txt");// 将Base64字符串解码回字节数组byte[] imageData = Convert.FromBase64String(base64ImageString);// 创建Texture2D并加载图像数据Texture2D texture = new Texture2D(100, 100);texture.LoadImage(imageData);// 将Texture2D转换为Sprite并设置到Image组件上myimage.sprite = CreateSpriteFromTexture(texture);}}private Sprite CreateSpriteFromTexture(Texture2D texture){Rect rect = new Rect(0, 0, texture.width, texture.height);Vector2 pivot = new Vector2(0.5f, 0.5f);return Sprite.Create(texture, rect, pivot);}
}

场景布局
在这里插入图片描述

代码解析:
引用命名空间: using SFB;
两个按钮实现功能,一个image用于显示图片

        // Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" )};

添加过滤条件,效果如下图,在右下角
在这里插入图片描述

多条件过滤,

        // Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),new ExtensionFilter("Sound Files", "mp3", "wav" ),new ExtensionFilter("All Files", "*" ),};

效果在右下角
在这里插入图片描述

选择完毕之后,点击读取按钮会读取上面写如的base64文件,将图片显示到场景中

相关文章:

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser&#xff0c;Unity打开文件选择器 下载地址&#xff1a;GitHub链接&#xff1a; https://github.com/gkngkc/UnityStandaloneFileBrowser简单的示例代码 using SFB; using System; using System.IO; using UnityEngine; using UnityEngine.UI;…...

面向对象的架构三段式写一篇论文

在面向对象的软件架构中&#xff0c;系统设计通常遵循一种“三段式”方法论&#xff0c;以确保软件的可扩展性、可维护性和灵活性。这种方法论包括三个核心阶段&#xff1a;概念化、详细设计和实现。通过这三个阶段的逐步深入&#xff0c;开发团队可以有效地应对复杂系统的挑战…...

npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED

解决npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to 分析过后这个问题是证书过期的意思 考虑到其他的原因 这里给出三个解决方案 一&#xff1a; 清除npm缓存 npm cache clean --force 取消ssl验证&#xff1a; npm config set strict-…...

pytorch-多分类实战之手写数字识别

目录 1. 网络设计2. 代码实现2.1 网络代码2.2 train 3. 完整代码 1. 网络设计 输入是手写数字图片28x28&#xff0c;输出是10个分类0~9&#xff0c;有两个隐藏层&#xff0c;如下图所示&#xff1a; 2. 代码实现 2.1 网络代码 第一层将784降维到200&#xff0c;第二次使用…...

httpsok-快速申请谷歌SSL免费证书

&#x1f525;httpsok-快速申请谷歌SSL免费证书 使用场景&#xff1a; 部署CDN证书、OSS云存储证书证书类型&#xff1a; 单域名 多域名 通配符域名 混合域名证书厂商&#xff1a; ZeroSSL Lets Encrypt Google证书加密类型&#xff1a; ECC、 RSA 一、证书管理 进入 证书管…...

LiveGBS流媒体平台GB/T28181功能-国标级联中如何自定义通道国标编号编辑通道编号保持唯一性

LiveGBS国标级联中如何自定义通道国标编号编辑通道编号保持唯一性 1、国标级联选择通道修改2、通道编辑修改3、分屏展示设备树修改3.1、编辑名称中修改 4、分屏展示分组修改4.1、编辑名称中修改4.2、选择通道中修改 5、搭建GB28181视频直播平台 1、国标级联选择通道修改 国标级…...

mysql 大表凌晨定时删除数据

有几张表数据量非常大&#xff0c;一次维护量有点大&#xff08;一个月有500多万条数据&#xff0c;并且还在往上涨&#xff09;&#xff0c; 于是想了个定时删除数据&#xff0c;每天凌晨执行&#xff0c;这样每天删除数据量就小&#xff0c; 循环删除&#xff0c;每次删除5…...

ArcGIS和ArcGIS Pro快速加载ArcGIS历史影像World Imagery Wayback

ArcGIS在线历史影像网站 World Imagery Wayback(网址:https://livingatlas.arcgis.com/wayback/)提供了数期历史影像在线浏览服务,之前不少自媒体作者在文中宣称其能代表Google Earth历史影像。 1、一点对比 (1)同一级别下的版本覆盖面 以下述区域为例,自2014年2月20…...

数据仓库的—数据仓库的体系架构

数据仓库通常采用分层的体系架构设计,作为支撑企业决策分析需求的数据基础设施。典型的数据仓库体系架构由以下三个核心层次组成: 源数据层(Source Layer) 这是数据仓库的数据来源,包括组织内部的各种运营系统,如ERP、CRM、SCM等,以及外部数据源如互联网、社交媒体等。这些系…...

【C/C++基础知识】const 关键字

文章目录 Q&A and 前言const 修饰基本变量初始化const 对象仅在文件内有效 const 的引用应用 指针与 constconst 修饰类成员函数参考写在最后 Q&A and 前言 Q&#xff1a;简要说一说 C 中的 const 关键字&#xff0c;含义以及常见的使用位置 A&#xff1a;const 是 C…...

Docker之数据卷和Dockerfile

Docker之数据卷与Dockerfile的详细使用介绍如下&#xff1a; 一、Docker数据卷 数据卷&#xff08;volume&#xff09;是Docker中的一个重要概念&#xff0c;它允许你在容器和宿主机或容器之间共享文件系统。数据卷提供了持久性存储&#xff0c;即使在容器被删除后&#xff0…...

pull拉取最新代码

工作区、暂存区、版本库 工作区&#xff1a;就是你在电脑里能看到的目录。 暂存区&#xff1a;英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件&#xff08;.git/index&#xff09;中&#xff0c;所以我们把暂存区有时也叫作索引&#xff08;index&#xff09;。 …...

工控 modbusTCP 报文

Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 Rx 接收报文:00 C9 00 00 00 07 01 03 04 01 4D 00 01 Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 00 C9 事务处理标识符 2字节 00 00 协议标识符 2字节 固定 00 00 00 06 长度 2字节 表示之后的字节总数 &#xff08;…...

在Ubuntu服务器上快速安装一个redis并提供远程服务

一、快速安装一个Redis 第一步&#xff1a;更新apt源 sudo apt update第二步&#xff1a;下载Redis sudo apt install redis第三步&#xff1a;查看Redis是否已自启动 systemctl status redis二、配置Redis提供远程服务 第一步&#xff1a;先确保6379端口正常开放 如果是…...

玩机进阶教程------手机定制机 定制系统 解除系统安装软件限制的一些步骤解析

定制机 在于各工作室与商家合作定制rom中有一些定制机。限制用户私自安装第三方软件。或者限制解锁 。无法如正常机登陆账号等等。定制机一般用于固定行业或者一些部门。专机专用。例如很多巴枪扫描机型等等。或者一些小牌机型。对于没有官方包的机型首先要导出各个分区来制作…...

Bilstm双向长短期神经网络多输入单输出回归分析

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 Bilstm双向长短期神经网络多输入单输出回归分析 完整代码: Bilstm双向长短期神经网络多输入单输出回归分析.zip资源-CSDN文库 https://download.csdn.net/download/abc991835105/89087121 效果图 结果分析 展望 …...

ELK+Filebeat日志分析系统

一、ELK基本介绍&#xff1a; 1.ELK 简介: ELK平台是一套完整的日志集中处理解决方案(日志系统)。 将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ELK --> ELFK --> ELFKMQ2.ELK组件介绍…...

flex吃干抹净

Flex 布局是什么&#xff1f; Flex 是 Flexible Box 的缩写&#xff0c;意为"弹性布局"&#xff0c;用来为盒状模型提供最大的灵活性。 .box{display: flex;//行内元素也可以使用flex布局//display: inline-flex; }display: flex; 使元素呈现为块级元素&#xff0c;…...

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 &#x1f525;这里是小殷学长&#xff0c;单片机毕业设计篇8基于stm32的RFID校园门禁系统 &#x1f9ff;创作不易&#xff0c;拒绝白嫖可私 一、功能介绍 -----------…...

uni-app web端使用getUserMedia,摄像头拍照

<template><view><video id"video"></video></view> </template> 摄像头显示在video标签上 var opts {audio: false,video: true }navigator.mediaDevices.getUserMedia(opts).then((stream)> {video document.querySelec…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...