Load your images and run:
Code: Select all
compare(#image_one, #image_two, 95)
Procedure example:
Code: Select all
UsePNGImageDecoder()
Enumeration
#image_one
#image_two
EndEnumeration
Procedure compare(image_one, image_two, maxpercent = 100)
cur_image = image_one
Repeat
If StartDrawing(ImageOutput(cur_image))
wid = ImageWidth(cur_image)
hei = ImageHeight(cur_image)
If cur_image = image_two
Dim pixels_image_two(wid - 1, hei - 1)
ElseIf cur_image = image_one
Dim pixels_image_one(wid - 1, hei - 1)
EndIf
For hei_temp = 0 To hei - 1 Step 1
For wid_temp = 0 To wid - 1 Step 1
color = Point(wid_temp, hei_temp)
If cur_image = image_two
pixels_image_two(wid_temp, hei_temp) = color
ElseIf cur_image = image_one
pixels_image_one(wid_temp, hei_temp) = color
EndIf
Next
Next
StopDrawing()
EndIf
FreeImage(cur_image)
If cur_image = image_two
Break
ElseIf cur_image = image_one
cur_image = image_two
EndIf
ForEver
If ArraySize(pixels_image_one()) = ArraySize(pixels_image_two())
For hei_temp = 0 To hei - 1 Step 1
For wid_temp = 0 To wid - 1 Step 1
If pixels_image_one(wid_temp, hei_temp) = pixels_image_two(wid_temp, hei_temp)
counter + 1
EndIf
Next
Next
percent.f = hei * wid / 100
Debug counter / percent.f
If counter / percent.f >= maxpercent
ProcedureReturn 1
EndIf
EndIf
EndProcedure
If LoadImage(#image_one, "image_one.png") And LoadImage(#image_two, "image_two.png")
Debug compare(#image_one, #image_two, 95)
EndIf

Download here:
http://rghost.ru/download/1876502/ac544 ... images.zip
Sorry for my bad English.