【教程】GBA,NDS,3DS,Wii等资源的提取教程

然后我们开始写文件保存的SaveFileDialog的代码了。
首先我们先使用new语句初始化SaveFileDialog类的新实例,变量S可以自定义。





楼主 lwyx2014  发布于 2018-01-08 21:42:00 +0800 CST  
将SaveFileDialog赋值完成后,我们就可以继续写SaveFileDialog的Filter了,文件保存类型我们写PNG的就行。





楼主 lwyx2014  发布于 2018-01-08 21:45:00 +0800 CST  
将SaveFileDialog的Filter写完以后,我们再继续写SaveFileDialog的FilterIndex和RestoreDirectory的代码。
其中FilterIndex是获取文件对话框中选定筛选器的索引,RestoreDirectory是指示对话框在关闭前是否将目录还原为之前选定的目录。
其中FilterIndex我们写等于0,RestoreDirectory写ture就可以了。






楼主 lwyx2014  发布于 2018-01-08 21:52:00 +0800 CST  
我们还可以给保存的对话框添加一个标题,使用SaveFileDialog的变量加上Title就可以了,里面写中文的也可以。
不过我个人认为在能看得懂的情况下还是尽量拿英文写比较好。




楼主 lwyx2014  发布于 2018-01-08 21:59:00 +0800 CST  
SaveFileDialog保存的文件名的话我们可以写null,不过这个就需要我们手动输入文件名来进行保存了。
楼主其实学习的还不多,非常抱歉。
将SaveFileDialog的FileName写完以后我们再写ShowDialog显示保存文件的对话框。




楼主 lwyx2014  发布于 2018-01-08 22:04:00 +0800 CST  
这样我们点击那个按钮的时候就会有保存文件的提示了。
保存对话框的标题也是我们写的Please select the saved directory了,不过还没有写完,还需要再继续写。


楼主 lwyx2014  发布于 2018-01-08 22:09:00 +0800 CST  
然后我们再继续补充一下SaveFileDialog的FileName的代码,这是一个string类型,赋值以后写SaveFileDialog的变量再加上FileName就可以了。




楼主 lwyx2014  发布于 2018-01-08 22:12:00 +0800 CST  
最后我们就要写png2bclim的PictureBox控件获取PNG图像的代码了。
之前我们也改过EveryFileExplorer将TPL保存为PNG的代码,同样png2bclim这里的话也是非常相似的。


楼主 lwyx2014  发布于 2018-01-08 22:19:00 +0800 CST  
C#关于Picturebox控件获取图像的方法之前我也介绍了2种写法。
第一种写法是System.Drawing.Imaging.ImageFormat.Png,第二种写法是Image img(img是局部变量) = Picturebox.Image。
我们还是使用第一种方法吧。

楼主 lwyx2014  发布于 2018-01-08 22:22:00 +0800 CST  
首先我们要知道Picturebox控件的名字,通过查看属性可以看出,png2bclim的Picturebox的名字是PB_BCLIM。



楼主 lwyx2014  发布于 2018-01-08 22:26:00 +0800 CST  
然后获取PNG图像的代码我们这样写就可以了。
在using了System.Drawing的情况下,这里只需要写ImageFormat.Png就可以了。







楼主 lwyx2014  发布于 2018-01-08 22:35:00 +0800 CST  
将代码写完了以后我们就可以进行编译了,这样我们修改了代码以后的png2bclim就可以对单张图片进行保存了。





楼主 lwyx2014  发布于 2018-01-08 22:40:00 +0800 CST  
不过这里有个小问题,就是在保存文件的时候点取消就会抛出System.ArgumentException的异常,提示我们路径的形式不合法,我们再进行修改一下就可以了。
其中ArgumentException是表示传递给方法的参数无效而引发的异常,它还有2个常用的派生类。



楼主 lwyx2014  发布于 2018-01-08 22:46:00 +0800 CST  
解决这个办法也很简单,我们再添加一下if语句,在SaveFileDialog的ShowDialog时,我们再写DialogResult.OK,添加一个大括号把下面的代码放进去就可以了,这样在保存文件的时候选择取消就不会抛出异常了。






楼主 lwyx2014  发布于 2018-01-08 23:02:00 +0800 CST  
头昏写错了,应该是这样写才对,这样我们在保存文件的时候点取消就不会抛出异常了。


楼主 lwyx2014  发布于 2018-01-08 23:06:00 +0800 CST  
头昏了头昏了,这个才是对的,把上面的ShowDialog去掉就正确了,非常抱歉。


楼主 lwyx2014  发布于 2018-01-08 23:10:00 +0800 CST  
将上面的问题解决以后,我们还发现了一个小问题,如果Picturebox中没有图像显示(没有打开图片的情况下)我们还选择保存的话,就会抛出System.NullReferenceException的异常。
关于System.NullReferenceException的话就是和空对象有关的异常。





楼主 lwyx2014  发布于 2018-01-08 23:18:00 +0800 CST  
这样我们在这个大括号中给Picturebox中的图像赋一个值,然后再添加if语句,在没有图像的时候返回就可以了,这样即使Picturebox中没有图像,在选择保存的时候就不会抛出异常了。







楼主 lwyx2014  发布于 2018-01-08 23:26:00 +0800 CST  
楼主在发贴的时候可能带了我的一些个人情绪,非常抱歉,这段时间楼主确实非常糟糕。
如果以后有什么新教程的话我还会再补充的,这个教程写的也不是太好,希望大家谅解。

楼主 lwyx2014  发布于 2018-01-08 23:29:00 +0800 CST  
总之还是要学会开心的事情要分享,痛苦的事情要隐藏,实在痛苦的话就晚上一个人默默的哭泣吧。

楼主 lwyx2014  发布于 2018-01-08 23:35:00 +0800 CST  

楼主:lwyx2014

字数:33932

发表时间:2017-11-21 07:19:00 +0800 CST

更新时间:2021-10-21 18:38:27 +0800 CST

评论数:693条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看