程序很短,测试写入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,应该是已经解决掉的了。升级以下最新补丁吧。