热门标签 | 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+  一般性错误,何解?

推荐阅读
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社区 版权所有