All pastes #183073 Raw Edit

Someone

public text v1 · immutable
#183073 ·published 2006-09-26 15:59 UTC
rendered paste body
Image = LoadImage("test3.bmp")


Const MOUSEEVENTF_ABSOLUTE   = -32768 ; // Use absolute coords
Const MOUSEEVENTF_MOVE       = 1      ; // Trigger move event
Const MOUSEEVENTF_LEFTDOWN   = 2      ; // LMB Down
Const MOUSEEVENTF_LEFTUP     = 4      ; // LMB Up
Const MOUSEEVENTF_RIGHTDOWN  = 8      ; // RMB Down
Const MOUSEEVENTF_RIGHTUP    = 16     ; // RMB Up
Const MOUSEEVENTF_MIDDLEDOWN = 32     ; // MMB Down
Const MOUSEEVENTF_MIDDLEUP   = 64     ; // MMB Up
Const MOUSEEVENTF_WHEEL      = 128    ; // NT Only: Mouse wheel moved

Const Val = MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP ; Left Click

Dim Img(ImageWidth(Image),ImageHeight(Image))

LockBuffer ImageBuffer(Image)
For x=0 To ImageWidth(Image)-1
	For y=0 To ImageHeight(Image)-1
		pixel=ReadPixelFast(x,y,ImageBuffer(Image))
		r = pixel Shr 16 And %11111111
		g = pixel Shr 8 And %11111111
		b = pixel And %11111111
		If (r=0)+(g=0)+(b=0)=3 Then Img(x,y) = 1
	Next
Next
UnlockBuffer ImageBuffer(Image)


ImgW = ImageWidth(Image)-1
ImgH = ImageHeight(Image)-1

Repeat

	If KeyHit(16) Then
		Print "Delay 1000ms"
		Delay 1000
		

		For x=0 To ImgW
			For y=0 To ImgH
				If Img(x,y) Then
					api_SetCursorPos(x+550,y+450)
					api_mouse_event(Val, 0, 0, 0, 0)
				EndIf
			Next
		Next
		Print "draw complete"
	
	EndIf


Until KeyHit(1)