VBnet 加载图片后如何删除图片文件

要加载图片很容易,代码如下

Dim Img=Image.FromFile(FileName)

但是我们发现,这个图片被加载到程序里面后,文件就被只读打开了,想要删除就不行了啊,聪明的小伙伴马上想到,那简单,复制一个副本,然后再释放源图像就行了,如下:

            Using Img = Image.FromFile(FilePathName)Return Img.CloneEnd Using

正常情况下下,这种用法确实没问题,一般的单帧图像肯定没问题.但是遇到gif这种图片就不行了,Image.Clone只能克隆第一张图片,后面的图片完全被抛弃了?于是我们查询Image的加载图片方式,发现有Image.FromStream,这个是个好东西,我们可以先将图片文件流复制到内存里面,再从内存里面加载图片不就可以了吗,马上动手:

		    Dim memoryStream_start As New MemoryStream()Using Fs As New System.IO.FileStream(FilePathName, IO.FileMode.Open, IO.FileAccess.Read)Dim Buff(Fs.Length - 1) As ByteFs.Read(Buff, 0, Fs.Length - 1)memoryStream_start.Write(Buff, 0, Buff.Length - 1)Return Image.FromStream(memoryStream_start)End Using

果然成功了,GIF也可以正常打开了,还可以直接删除源文件了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部