47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using UnityEngine;
|
|
using System.IO;
|
|
using System;
|
|
|
|
public static class CaptureImageSaver
|
|
{
|
|
public static string savePath = Application.persistentDataPath + "/fishTravel/"; // 保存到持久化数据路径
|
|
|
|
public static void SaveImagePersistent(byte[] image, string imageName, Action<bool, string> callback = null)
|
|
{
|
|
string fullPath = Path.Combine(savePath, imageName);
|
|
try
|
|
{
|
|
|
|
// 确保保存路径存在
|
|
if (!Directory.Exists(savePath))
|
|
{
|
|
Directory.CreateDirectory(savePath);
|
|
}
|
|
// 保存纹理为PNG文件
|
|
File.WriteAllBytes(fullPath, image);
|
|
callback.Invoke(true, fullPath);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
Debug.LogWarning($"保存图片时出错: {ex.Message} +++ {ex.StackTrace}");
|
|
callback.Invoke(false, null);
|
|
return;
|
|
}
|
|
Debug.Log($"{imageName} saved to {fullPath}.");
|
|
}
|
|
|
|
public static void DeleteImagePersistent(string fullPath)
|
|
{
|
|
try
|
|
{
|
|
File.Delete(fullPath);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
Debug.LogWarning($"保存图片时出错: {ex.Message} +++ {ex.StackTrace}");
|
|
return;
|
|
}
|
|
Debug.Log($"DeleteImagePersistent to {fullPath}.");
|
|
}
|
|
}
|