如何判断图片(jpg,BMP)文件是否损坏呢有什么函数或是什么的?

解决方案 »

  1.   

    1.保存到数据库时,也保存CRC值,取出是再比较一次。
    2.如果LoadPicture报错,就当它损坏
      

  2.   

    the similiar answers is like HTTP://www.ebigear.com/Fund/PlayNews.php?NewsID=29966&ID=285885
      

  3.   

    如果LoadPicture报错,就当它损坏
      

  4.   

    使用loadPicture加载了图片之后,虽然可以知道图片是坏的,但是程序已经死在loadpitcure函数里面了,程序不能向下执行,有什么用呢?
    可以根据文件结构自己判
    -----------
    如何判断图片是坏的呢?
      

  5.   

    补充:
    1。先判断文件存在
       If Len(Dir$(FileName, vbArchive Or vbReadOnly Or vbSystem Or vbHidden)) = 0 Then Exit Function
    2。再判断文件是否小于57byte,若真,什么不是图片。
    If FileLen(FileName) < 57 Then Exit Function
        ' no image file/stream can be less than 57 bytes and still be an image
        If Err Then
            Err.Clear
            Exit Function
        End If
    3。试试打开文件,若错误,说明文件有问题。
     If Not FileName = vbNullString Then ' file name was passed
            
            Dim FileNum As Integer
            On Error Resume Next
            
            FileNum = FreeFile()    ' attempt to open file with read access only
            Open FileName For Binary Access Read As #FileNum
            ' if successful, we will use it later
            If Err Then
                Close #FileNum
                Err.Clear
                Exit Function
            End If
        End If
      

  6.   

    谢谢楼上但是问题依然没有解决当图片是损坏时,第3个步骤依然能够执行,二进制打开文件是可以的然后loadpitcure依然会执行,如此与没有上述3步骤基本上相同.程序还是会死