读书人

程序很短测试写入44M的JPG图片提示quot;

发布时间: 2012-01-20 18:53:53 作者: rapoo

程序很短,测试写入44M的JPG图片提示"GDI+GDI+中发生一般性错误",请教高手。
Dim WriteJpg As String = "e:\test2.jpg "
Dim ReadJpg As Bitmap = Image.FromFile( "e:\test1.jpg ")
MsgBox( "读完成 ")

Try
ReadJpg.Save(WriteJpg, System.Drawing.Imaging.ImageFormat.Jpeg)
Catch ex As System.SystemException
MsgBox(ex.ToString)
Finally
ReadJpg = Nothing
End Try
MsgBox( "写完成 ")

-------------------------------------

程序很简单:读入 test1.jpg ,然后写入 test2.jpg(test2.jpg删除,不会有锁定问题)。

测试过小文件没有任何问题,最大做到了26M的图片读写也没问题。

读44M时没问题,但在一点没有修改的情况另存为一个文件却出现了 "GDI+中发生一般性错误 ",实在想不出该怎么办,因为程序实在太简单了。

图片尺寸大小是 16592*13620,难道是这个问题?但奇怪的是,读入都很正常的。


[解决办法]
Jpeg类型并没有变化,为什么不直接用File.copy?
[解决办法]
PixelFormat.Format24bppRgb、32、48、64 是指你图片中最多支持的颜色模式,就好像我们比如我们只需要一个黑白的灰度图的话就完全可以用PixelFormat.Format1bppRgb这个。这样可以减小图片尺寸。另外我记得GDI+在24位色的支持上好像有bug,应该是已经解决掉的了。升级以下最新补丁吧。

读书人网 >VB Dotnet

热点推荐