[Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误

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

 

虽然

(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 GetTexrture2D
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值