Unity使用Windows弹窗保存图片

此功能都在类EditorUtility中(using UnityEditor;)

包括

OpenFilePanel
打开文件窗口
Displays the "open file" dialog and returns the selected path name.
展示“打开文件”对话框并返回所选择的路径名称

OpenFilePanelWithFilters
打开文件窗口(带过滤类型)
Displays the "open file" dialog and returns the selected path name.
展示“打开文件”对话框并返回所选择的路径名称

OpenFolderPanel
打开文件夹窗口
Displays the "open folder" dialog and returns the selected path name.
展示“打开文件夹”对话框并返回所选择的路径名称

SaveFilePanel
保存文件窗口
Displays the "save file" dialog and returns the selected path name.
展示“保存文件”对话框并返回所选择的路径名称

SaveFilePanelInProject
保存文件窗口(项目中文件)
Displays the "save file" dialog in the Assets folder of the project and returns the selected path name.
展示项目的Assets文件夹中的“保存文件”对话框并返回所选择的路径名称

SaveFolderPanel
保存文件夹窗口
Displays the "save folder" dialog and returns the selected path name.
展示“保存文件夹”对话框并返回所选择的路径名称

 

下面的代码,将屏幕截图并保存到本地

using System.Collections;
using System.IO;
using UnityEditor;
using UnityEngine;

public class SaveScreen : MonoBehaviour
{
    private string time;

    // Use this for initialization
    private void Start()
    {
        StartCoroutine(Save());
    }

    // Update is called once per frame
    private void Update()
    {
    }

    private IEnumerator Save()
    {
        yield return new WaitForEndOfFrame();

        int width = Screen.width;
        int height = Screen.height;
        Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false);

        tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
        tex.Apply();

        byte[] bytes = tex.EncodeToPNG();
        Destroy(tex);

        var path = EditorUtility.SaveFolderPanel("请选择本地文件夹保存", "", "");

        if (path.Length != 0)
        {
            if (bytes != null)
            {
                File.WriteAllBytes(path + "/" + time + ".png", bytes);
            }
        }
    }
}

 

 

最后,附上效果图

image

 

关于Unity进行更多的windows交互,请参阅官方网站

https://docs.unity3d.com/ScriptReference/EditorUtility.html

 

 

声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出

转载于:https://www.cnblogs.com/fws94/p/6236925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值