首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我调用Bitmap.Save函数时出现错误"GDI +中发生了一般错误"

这个错误通常是因为GDI+无法在目标设备上打开文件,或者无法分配足够的内存来处理图像。

解决这个问题的方法可能因情况而异,但以下是一些可能的解决方案:

  1. 检查目标文件路径是否正确。确保路径包含文件名和扩展名,并且目标设备上已启用对该路径的访问权限。
  2. 确保要保存的图像是32位BMP图像。如果图像不是32位BMP图像,请将其转换为32位BMP图像,然后再尝试保存。
  3. 如果目标设备上可用内存不足,请尝试减小图像的大小或质量。例如,您可以减小图像的宽度和高度,或者降低图像的DPI(每英寸点数)。
  4. 如果以上方法都无法解决问题,请尝试使用其他图像处理库或工具来保存图像。例如,您可以使用System.Drawing.Bitmap类或第三方库,如OpenCV。

如果问题仍然存在,建议查看错误日志以获取更详细的错误信息,并根据错误信息进行调试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

图片在保存的时候===》出现这个异常:GDI+ 中发一般错误

异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 一般这种情况都是没有权限,比如目录没有创建就写入,或者没有写入文件的权限 我的是目录问题...5630745.html SignalR 01.SignalR:“System.Reflection.TargetInvocationException”类型的未经处理的异常在 mscorlib.dll 中发生...【兼容写法】HttpServerUtility.Execute 在等待异步操作完成被阻止。....ADO.NET一小记-select top 参数问题 http://www.cnblogs.com/dunitian/p/5483258.html C# Base 01.图片在保存的时候===》出现这个异常...:GDI+ 中发一般错误 http://www.cnblogs.com/dunitian/p/5861333.html WebForm 1.for循环或Repeat里面对某个字段进行复杂处理的解决方案

1.6K80
  • WPF图片处理相关

    GDI的核心是设备上下文,GDI函数都依赖于设备上下文句柄,其编程方式是基于句柄的; GDI+无需时刻依赖于句柄或设备上下文,用户只需创建一个Graphics 对象,就可以用面向对象的方式调用其成员函数进行图形操作...GDI中存在一个当前位置(全局区),目的是提高绘图性能;而GDI+取消了它,以避免绘图不确定这个当前位置而带来非预期的错误。...有两种实现方式: 将释非代码放到构造函数析构函数中,由系统自动调用,系统会在资源对象不再使用了,会在某个时间调用构造函数析构函数来释放非托管资源。构造函数析构函数的目的就是用来释放或清理非托管资源的。...但它有一个问题是调用的时间是系统说了算,不能在程序中自己想要调用调用析构函数,这是C#规定的。那么就产生了第二种方式。 将释非代码放到另外一个函数中,当自己想调用时就调用。...如果在调用了Dispose()之后再调用析构函数只是多此一举,所以告诉系统不要再调用了。这一点应该和性能有关系。【如果不需要构造函数就不要执行构造函数,他们会带来性能上的开销】。

    3.6K31

    UltraWebChart部署时报GUI+错误解决手记

    部署后其他所有功能都可以使用,唯独在打开有图形空间的时候报错,错误信息如下: ——————————————–错误信息—————————————————— GDI+ 中发一般错误。...说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。...异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发一般错误。...ExternalException (0x80004005): GDI+ 中发一般错误。]   ...原因找到,我每次部署的时候都习惯性的将所有零文件都清除,当然包括清除图形文件夹下的图形文件,但是,这次部署服务器上不是我操作的,是刚才的同事,他并没有删除图形文件夹下的图形文件,导致这个错误

    35120

    不能装 X

    是另外一个部门,所以风格出现了不一致- -!)。...当我们在代码中看到这样的变量我们无需查看其类型定义。虽然有人说这种命名法已经过时,在后来的很多系统设计上,很多地方可以看到匈牙利命名法。...(例如复制、剪切、粘贴)等等一般统一放在”编辑”菜单下面。...核心思想其实就是调用 Windows GDIGDI+ 函数进行自绘,GDI  提供的自绘接口在一些追求界面细节的精细程度上不够且 GDI 接口都是 C 接口不符合现在开发软件使用的面向对象模型的理念...函数调用方式 窗口与控件 Windows的消息 从 gdi/gdi+ 到界面库 DUI 思想 从WIN API到 MFC/WTL 等框架 从伯克利 socket 到 Windows 事件驱动型网络 Windows

    1.2K20

    .NET生成小程序码,并合自定义背景图生成推广小程序二维码

    GDI+(Graphics)绘制图片。...获取小程序全局唯一后台接口调用凭据(access_token):   对接开发过微信相关的业务的同学应该都清楚,调用微信接口很多情况下都会需要使用到access_token接口调用凭证。...一般来说access_token的有效时长为2小,为了不频繁调用该接口我们可以通过缓存的方法把调用凭证存起来并设置合理的过期时间(redis,cookie,memorycache都是非常不错的选择)。...errcode number 错误码 errmsg string 错误信息 请求代码: /// /// 获取小程序全局唯一后台接口调用凭据(access_token...请求异常返回值: 属性 类型 说明 errcode number 错误码 errmsg string 错误信息 请求代码: 注意:这个与前面获取授权凭证的网络请求不同的是因为要接收请求返回过来的图片二进制内容

    1.2K50

    BoundsChecker使用说明(代码调试)

    简单地说,当你的程序开始运行时,BoundsChecker的DLL被自动载入进程的地址空间,然后它会修改进程中对内存分配和释放的函数调用,让这些调用首先转入它的代码,然后再执行原来的代码。...程序员在开发过程中可能会经常遇到这样的问题:调试语法没有问题,代码也没有错误,但应用程序运行就是不正常甚至死机,其实这有可能是由于逻辑错误引起的内存溢出或资源泄露等问题,这些错误一般是不容易被检测出来的...API函数返回失败 API函数未执行 无效的变量(包括指针变量、字符串变量等) OLE接口方法的变量无效 OLE接口方法失败 线程调用函数错误 五,检测实例 5.1内存泄漏检测示例 代码段:类TempClass.cpp...11行myTempPoint已经分配分间而程序退出生了内存泄漏。...仍然占有对象的资源,同时也给出错误发生在OnPaint()函数中,对于GDI的资源泄漏也必需在FinalCheck模式下才可以检测出来。

    1.5K20

    你还在用 console.log 调试 ?

    取消断点 执行错误时停止 场景:您的代码执行产生了错误,但您不想设置断点,因为您不知道何时会抛出错误。 在您的代码中抛出错误,这样就可以查看代码出现了什么问题。 ?...场景:您的代码比上面的代码更复杂,并且无法确定何时出现 NaN 。 当然,您可以设置一个断点,但复现错误并不容易,可能最终花费半小时来执行代码。...进入下一个函数调用 自 Chrome 68 以来,Step Into Next function call 按钮的作用发生了改变。它类似于上面提到的 Step 。...Step Out of function call 上图中发生了什么?...即时输出是 Chrome 68 中发布的一项功能,开发工具允许您在输入代码在控制台中显示执行的结果。

    1.6K10

    那些做客户端 CC++ 开发的同学,现在怎么样了?

    一款 Windows 软件的生产等于下面的公式: 一款 C++ 软件 = C++ 语法 + 操作系统 API 函数调用 二、为什么你学 Windows 编程感觉这么枯燥或者痛苦?...是另外一个部门,所以风格出现了不一致- -!)。...当我们在代码中看到这样的变量我们无需查看其类型定义。虽然有人说这种命名法已经过时,在后来的很多系统设计上,很多地方可以看到匈牙利命名法。...核心思想其实就是调用 Windows GDIGDI+ 函数进行自绘,GDI  提供的自绘接口在一些追求界面细节的精细程度上不够且 GDI 接口都是 C 接口不符合现在开发软件使用的面向对象模型的理念...函数调用方式 窗口与控件 Windows的消息 从 gdi/gdi+ 到界面库 DUI 思想 从WIN API到 MFC/WTL 等框架 从伯克利 socket 到 Windows 事件驱动型网络 Windows

    4.2K20

    内存泄漏检测工具

    在编程进行动态内存分配是非常必要的,它可以在程序运行的过程中帮助分配所需的内存,而不是在进程启动的时候就进行分配。然而有效地管理这些内存同样也是非常重要的。...在大型的、复杂的应用程序中,内存泄漏是常见的问题,当以前分配的一片内存不再需要使用或无法访问,但是却并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏。...Windows Leaks Detector-探测任何Win32应用程序中的任何资源泄漏(内存,句柄等),基于Win API调用钩子。 3. ...Electric Software GlowCode-包括内存泄漏检查,code profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。...两个GDI资源堆分别是:16位的GDI堆(GDI Heap,64KB);32位的GDI堆(GDI,2MB)。

    7.6K30

    Android 项目开发填坑记 - NoSuchMethodError:(java.lang.System.arraycopy)

    若移动端访问不佳,请使用 -> Github Page 版 关键字:NoSuchMethodError、System.arraycopy、Native Method 0x00:奇怪的异常 应用新版本上线后观察错误日志...,发现一个奇怪的 Crash 异常信息: lang.java.NoSuchMethodError: (java.lang.System.arraycopy) 异常集中发生在 Android 4.4.2...和 Android 5.1 上面,System.arraycopy() 是一个系统函数,要说没这个方法倒是不会,但异常发生了,说明应用在找这个方法生了错误。...之所以说是可能,是因为出现此异常在开发平常的应用时不会发生,一般是使用修改后的系统 Jar 包调用系统隐藏方法才容易出现。 0x02:解决方案 如何解决呢?...System.arraycopy() ,但是不会调用错误的重载方法。

    79130

    安全地写内容到文件

    ❝写文件通常我们会使用QFile类,或者使用标准库的write操作,但当我们写入文件失败时有可能丢失原有数据。为了解决这个问题,Qt的QSaveFile或许可以帮到你。...这样可以确保在写入过程中发错误的情况下,最终文件中的数据不会丢失,并且最终位置中不会存在任何部分写入的文件。建议将整个文档保存到磁盘,请始终使用QSaveFile。   ...QSaveFile在写入时自动检测错误,例如完整分区情况,当write()无法写入所有字节时,它将记住发生了一个错误,并将丢弃commit()中的临时文件。...通常使用QDataStream或QTextStream读写数据,但是你也可以调用QIODevice继承的函数read(),readLine(),readAll(),write()。...「需要注意的是:由于应用程序错误而需要中止保存,请调用cancelWriting(),这样即使以后再调用commit()也不会保存。」

    1.2K30

    异常1.异常简介2.捕获异常3.异常的传递4.抛出自定义的异常5.异常处理中抛出异常

    1.异常简介 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。...这样的文件或目录) 异常: 当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常" 2.捕获异常 1.捕获异常try...except... ?... 解码错误 UnicodeEncodeErrorUnicode  编码错误 UnicodeTranslateErrorUnicode 转换错误 Warning                                  ...2.函数嵌套调用中 ? 运行结果: ?...如果所有的函数都没有处理,那么此时就会进行异常的默认处理,即通常见到的那样 ·注意观察上图中,当调用test3函数,在test1函数内部产生了异常,此异常被传递到test3函数中完成了异常处理,而当异常处理完后

    1.8K30

    09. 异常处理

    当程序执行过程中发生了一些无法继续执行的错误时,会引发异常,这可能是由于错误的输入、文件不存在、网络连接问题等多种原因引起的。...,它记录了异常的触发点以及导致异常的函数调用链。...异常处理try...except...finally 传统来讲,如果程序在运行过程中发生了异常,可以实现约定好一些错误码,利用错误码来区分各种异常事件,典型的诸如Http状态码。...既然出现了异常,那么我们肯定是要进行修复的。那么读懂异常信息就很关键。前面介绍到异常一般分为3个部分,异常类型和异常信息就不说了,通常都很容易看懂。...主要我们来看下异常堆栈,这里包含了异常的整个方法调用链,从中我们可以很容易看到具体哪个方法出现了异常。

    12010

    关于.net中获取图像缩略图的函数GetThumbnailImage的一些认识。

    在.net中,图像处理方面的内容主要是借助于GDI+的平板化API函数实现的。为了获取GDI+能支持的那几种格式的缩略图,可以调用Bitmap或者Image类的GetThumbnailImage函数。...为了测试公平,我们选用VB6作为测试语言,这有两个原因:(1)因为VB6直接调用GDI+的API函数很方便,也可以降低.net中创建各种对象所用的时间。...结论1: 该函数首先判断图像是否内嵌了缩略图,如果有,则直接读取他,然后再将获得的缩略图缩放到用户调用时指定的大小。...可见,执行速度还是不错的,缩略图的结果却是错误的,但是和我们嵌入的缩略图却是一致的。...如果是用C#做,我可能会像类似于VB中这样,直接调用GDI+的API函数

    1.3K30

    DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)

    即使不出现循环依赖,如果出现《DllMain中不当操作导致死锁问题的分析——线程中调用GetModuleFileName、GetModuleHandle等导致死锁》中第三个例子的情况,也会死锁的。...D 使用User32或Gdi32中的函数         User32和Gdi32中部分函数调用的底层会加载其他DLL。 E 使用托管代码         运行托管代码需要加载其他DLL。...如果占用了LoaderLock临界区的线程在等待一个需要经过临界区才能结束的线程,就发生了死锁。以上3篇博文中均有案例。...在退出线程底层将调用LdrShutdownThread(详见《DllMain中不当操作导致死锁问题的分析--线程退出生了死锁》)。...该函数逻辑和LdrpInitializeThread相似,只是在调用DllMain传的是DLL_THREAD_DETACH。

    1.5K20

    go中异常处理流程

    示例当程序执行到 panic 语句,它会立即停止当前函数的执行,并开始沿调用堆栈向上执行所有的 defer 语句。执行 defer 语句,将其推迟的函数或语句加入到一个栈中,但并不立即执行。...如果在 defer 语句执行的过程中发生了 panic,则 panic 会被引发,但是在引发 panic 之前,会先执行该层级的 defer 语句。...虽然一个协程中发生了 panic,但其他协程仍然可以继续执行。4. 总结在Go中,runtime包是负责处理Go运行时(runtime)的细节,包括垃圾回收、协程调度等。...当程序中出现panic,Go运行时会按照以下步骤进行处理:异常的传播:当一个函数发生panic,该函数会立即停止执行,并将panic传播到调用它的函数。...栈的展开(Unwinding):在panic发生,Go运行时会开始展开调用栈(stack unwinding)。这意味着它会逆序执行当前调用栈中的函数,直到找到一个能够处理panic的函数

    20020

    .NET生成微信小程序推广二维码

    GDI+(Graphics)绘制图片。...获取全局唯一后台接口调用凭据 对接开发过微信相关的业务的同学应该都清楚,调用微信接口很多情况下都会需要使用到access_token接口调用凭证。...一般来说access_token的有效时长为2小,为了不频繁调用该接口我们可以通过缓存的方法把调用凭证存起来并设置合理的过期时间(redis,cookie,memorycache都是非常不错的选择)。...,是否需要透明底色,为 true ,生成透明底色的小程序 返回参数 属性 类型 说明 buffer buffer 图片 Buffer errcode number 错误码 errmsg string...错误信息 接口请求成功会返回的图片 Buffer(如果调用成功,会直接返回图片二进制内容(图片文件流),如果请求失败,会返回 JSON 格式的数据。)

    23110
    领券