虽然
(Texture2D)Resources.Load(pngFilePath);
可以读取图片,
但是当项目工程文件中存储大量图片,几百万个图片的时候,就会出现项目编译卡顿,等待时间过长的问题。
只好把本地文件放入其他不是 项目 工程的文件夹中。
读取本地图片出现错误
ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
System.Drawing.Image img = System.Drawing.Image.FromStream(new MemoryStream(byteLength));
var img = Bitmap.FromStream(new MemoryStream(byteLength));
这几种方式读取 Img都会出错
使用
System.Drawing.Image img = System.Drawing.Image.FromStream(fs);
问题才解决。
没有读取到图片数据流,读取FileStream数据而不是MemoryStream。
using UnityEngine;
using UnityEngine.UI;
using System.Drawing;//
using System.IO;//
public class GetTexture2D : MonoBehaviour
{
public static Texture2D GetTexrture2DFromPath(string im

在Unity项目中,当处理大量本地图片时,可能导致编译卡顿。为避免此问题,将图片存放在项目工程文件夹外。然而,尝试通过System.Drawing.Image.FromStream(fs)读取图片时,会遇到ArgumentException错误。解决方案是正确处理图片数据流,使用FileStream而非MemoryStream,并根据图片尺寸调整Unity中Image的宽高。
最低0.47元/天 解锁文章
975

被折叠的 条评论
为什么被折叠?



