热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Image.Save方法频繁出现参数无效错误,如何解决?

在实现将PictureBox中的图片保存到本地的功能时,遇到了两个主要问题。首先,`mypicture.Save(path)`方法经常抛出“参数无效”的异常,但不清楚具体原因。其次,代码中可能存在其他潜在的问题需要解决。本文将探讨这些问题的可能原因,并提供相应的解决方案,以确保图片能够成功保存到指定路径。
实现的功能是要将Pictrue Box 中的图片另存到本地,主要问两个问题,第一个问题是mypicture.Save(path );总是报“参数无效”的错误,我不明白究竟错在哪里。第二个问题是,代码中定义的image 对象,用完是要写代码来Dispose,还是由CLR来自动释放?




private void btn_save_as_Click(object sender, EventArgs e)
        {
            //名称
            dlg_mysave.Title = "图片另存为";
            //保存格式
            dlg_mysave.Filter = "JPG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|TFT文件(*.tft)|*.tft|所有文件(*.*)|*.*";
            //索引
            dlg_mysave.FilterIndex = 2;

            if (dlg_mysave.ShowDialog() == DialogResult.OK)
            {
                string path = dlg_mysave.FileName;
                Image mypicture = picbox_show.Image;
                picbox_show.Image.Dispose();
                mypicture.Save(path );                picbox_show.Image = mypicture;
                
            }

        }

7 个解决方案

#1


上面的代码有点乱,重新贴一下

private void btn_save_as_Click(object sender, EventArgs e)
        {
            //名称
            dlg_mysave.Title = "图片另存为";
            //保存格式
            dlg_mysave.Filter = "JPG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|TFT文件(*.tft)|*.tft|所有文件(*.*)|*.*";
            //索引
            dlg_mysave.FilterIndex = 2;

            if (dlg_mysave.ShowDialog() == DialogResult.OK)
            {
                string path = dlg_mysave.FileName;
                Image mypicture = picbox_show.Image;
                picbox_show.Image.Dispose();
                mypicture.Save(path );
                picbox_show.Image = mypicture;
                
            }

        }

#2


string path = dlg_mysave.FileName;
要检查有没有写过后缀

#3


picbox_show.Image.Dispose();
这句话的问题    这时候mypicture.Save(path );
 mypicture已经为null了   

#4


注意引用类型传的是地址    你释放那个的资源等于释放了这个的资源   

#5


up

#6


不释放不行啊,picturebox 中图片资源被锁定,无法复制也无法保存,只好释放了。

怎么才能在释放前,把它拷到另一个image文件中呢?

#7


如果去掉dispose 就会发生GDI+  一般性错误,何解?

推荐阅读
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文将详细探讨 Java 中提供的不可变集合(如 `Collections.unmodifiableXXX`)和同步集合(如 `Collections.synchronizedXXX`)的实现原理及使用方法,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • OBS (Open Broadcaster Software) 架构解析
    本文介绍 OBS(Open Broadcaster Software),一款专为直播设计的开源软件。文章将详细探讨其技术架构、核心组件及其开发环境要求。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
author-avatar
广佛笑嘻嘻_229
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有