[假设比较2张图片是否是一张图片]
第1步:
声明API
Public Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Public Declare Function SetPixel Lib "gdi32" Alias "SetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
在窗体中拖入两个PictureBox控件.
第2步:
PictureBox1.AutoRedraw=True:PictureBox2.AutoRedraw=True
PictureBox1.ScaleMode=3:PictureBox2.ScaleMode=3
Set PictureBox1.Picture=LoadPicture("c:\图片文件名1.jpg")
Set PictureBox2.Picture=LoadPicture("c:\图片文件名2.gif")
第3步:(正式比较)
Public Declare Function ComparePic() as Boolean
Dim I as long,J as long,Temp as long
'两张图象的大小必须一致
If PictureBox1.ScaleWidth<>PictureBox2.ScaleWidth or PictureBox1.ScaleHeight<>PictureBox2.ScaleHeight Then
ComparePic=False:Exit Function
End If
'挨个象素比较图片(这个过程的速度主要看你比较图象的大小)
For J=0 To PictureBox1.ScaleHeight
For I=0 To PictureBox1.ScaleWidth
Temp=GetPixel(PictureBox1.hdc,I,J)
If GetPixel(PictureBox1.hdc,I,J) <> GetPixel(Picture2.hdc,I,J) Then
ComparePic=False:Exit Function'不相同,退出比较,返回值
End If
Next
Next
ComparePic=True'一样的图片
End Function