WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

UDF - UDS Library
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Get Pixel Deluxe with Zoom


Get Pixel Color UDF by MWorrel, 05/03. Thanks to BadBacchus, Iain, and Freeman for the contributions.

#DefineFunction GetPixelColor (x,y)
   HDC=DllCall(StrCat(DirWindows(1),"USER32.DLL"),long:"GetDC",lpnull)
   Pixel=DllCall (StrCat(DirWindows(1),"GDI32.DLL"),long:"GetPixel",long:HDC,long:x,long:y)
   Red=StrFixCharsL((Pixel) & 255,"0",3)
   Grn=StrFixCharsL((Pixel >> 8) & 255,"0",3)
   Blu=StrFixCharsL((Pixel >> 16) & 255,"0",3)
   Hex=StrCat (Byte2Hex(Red),Byte2Hex(Grn),Byte2Hex(Blu))
   DllCall (StrCat(DirWindows(1),"USER32.DLL"),long:"ReleaseDC",lpnull,long:hdc)
Return (StrCat(Red,"|",Grn,"|",Blu,"|",Hex))
#EndFunction


Sample Code

IntControl (12,1+4,0,0,0)         ;Suppress OK to close messages
IntControl (1003,0,0,0,0)         ;Prevents WinBatch icon from being opened
IntControl (1008,1,0,0,0)         ;Enables Close command

BoxTitle ("PixelColor")

#DefineFunction Byte2Hex (Byte)
   HexChars="0123456789abcdef"
   h1=StrSub(HexChars,1+(Byte>>4),1)
   h2=StrSub(HexChars,1+(Byte&15),1)
Return (StrCat(h1,h2))
#EndFunction

#DefineFunction GetPixelColor (x,y)
   HDC=DllCall(StrCat(DirWindows(1),"USER32.DLL"),long:"GetDC",lpnull)
   Pixel=DllCall (StrCat(DirWindows(1),"GDI32.DLL"),long:"GetPixel",long:HDC,long:x,long:y)
   Red=StrFixCharsL((Pixel) & 255,"0",3)
   Grn=StrFixCharsL((Pixel >> 8) & 255,"0",3)
   Blu=StrFixCharsL((Pixel >> 16) & 255,"0",3)
   Hex=StrCat (Byte2Hex(Red),Byte2Hex(Grn),Byte2Hex(Blu))
   DllCall (StrCat(DirWindows(1),"USER32.DLL"),long:"ReleaseDC",lpnull,long:hdc)
Return (StrCat(Red,"|",Grn,"|",Blu,"|",Hex))
#EndFunction

#DefineSubRoutine DlgCallback (DlgName,DlgEvent,DlgCtrl,Res4,Res5)
If DlgEvent==00                                            ;Dialog initialization
   DialogProcOptions (DlgName,1,100)                       ;Timer
EndIf
If DlgEvent==01                                            ;TimerTick
   Mouse=MouseInfo (3)
   x=ItemExtract (1,Mouse," ")
   y=ItemExtract (2,Mouse," ")
   RGBH=GetPixelColor(x,y)
   DialogControlSet (DlgName,003,4,ItemExtract(1,RGBH,"|"))
   DialogControlSet (DlgName,006,4,ItemExtract(2,RGBH,"|"))
   DialogControlSet (DlgName,009,4,ItemExtract(3,RGBH,"|"))
   DialogControlSet (DlgName,012,4,ItemExtract(4,RGBH,"|"))
   c = 15
   For b = y-2 To y+2
      For a = x-2 To x+2
         RGBH=GetPixelColor(a,b)
         DialogControlSet (DlgName,c,11,StrCat(ItemExtract(1,RGBH,"|"),"|",ItemExtract(2,RGBH,"|"),"|",ItemExtract(3,RGBH,"|")))
         c = c + 1
      Next a
   Next b
EndIf
If DlgEvent==02                                            ;Dialog initialization
   Exit
EndIf
Return (-2)
#EndSubRoutine

PixClrFormat=`WWWDLGED,6.1`
PixClrCaption=`Pixel Color`
PixClrX=148
PixClrY=049
PixClrWidth=114
PixClrHeight=070
PixClrNumControls=039
PixClrProcedure=`DlgCallback`
PixClrFont=`DEFAULT`
PixClrTextColor=`DEFAULT`
PixClrBackground=`DEFAULT,DEFAULT`
PixClrConfig=0
PixClr001=`005,003,016,008,STATICTEXT,DEFAULT,"Red",DEFAULT,1,0,"Microsoft Sans Serif|5632|40|34","255|0|0",DEFAULT`
PixClr002=`023,003,004,008,STATICTEXT,DEFAULT,"=",DEFAULT,1,0,"Microsoft Sans Serif|5632|40|34","255|0|0",DEFAULT`
PixClr003=`029,003,012,008,STATICTEXT,DEFAULT,"Static 1",DEFAULT,1,0,"Microsoft Sans Serif|5632|40|34","255|0|0",DEFAULT`
PixClr004=`005,013,016,008,STATICTEXT,DEFAULT,"Green",DEFAULT,2,0,"Microsoft Sans Serif|5632|40|34","0|128|0",DEFAULT`
PixClr005=`023,013,004,008,STATICTEXT,DEFAULT,"=",DEFAULT,2,0,"Microsoft Sans Serif|5632|40|34","0|128|0",DEFAULT`
PixClr006=`029,013,012,008,STATICTEXT,DEFAULT,"Static 2",DEFAULT,2,0,"Microsoft Sans Serif|5632|40|34","0|128|0",DEFAULT`
PixClr007=`005,023,016,008,STATICTEXT,DEFAULT,"Blue",DEFAULT,3,0,"Microsoft Sans Serif|5632|40|34","0|0|255",DEFAULT`
PixClr008=`023,023,004,008,STATICTEXT,DEFAULT,"=",DEFAULT,3,0,"Microsoft Sans Serif|5632|40|34","0|0|255",DEFAULT`
PixClr009=`029,023,012,008,STATICTEXT,DEFAULT,"Static 3",DEFAULT,3,0,"Microsoft Sans Serif|5632|40|34","0|0|255",DEFAULT`
PixClr010=`005,033,016,008,STATICTEXT,DEFAULT,"Hex",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr011=`023,033,004,008,STATICTEXT,DEFAULT,"=",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr012=`029,033,030,008,STATICTEXT,DEFAULT,"Static 4",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr013=`013,049,036,012,PUSHBUTTON,DEFAULT,"E&xit",1,4,32,DEFAULT,DEFAULT,DEFAULT`
PixClr014=`058,001,048,050,GROUPBOX,DEFAULT,DEFAULT,DEFAULT,15,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
PixClr015=`062,007,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr016=`070,007,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr017=`078,007,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr018=`086,007,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr019=`094,007,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr020=`062,015,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr021=`070,015,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr022=`078,015,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr023=`086,015,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr024=`094,015,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr025=`062,023,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr026=`070,023,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr027=`078,023,008,008,STATICTEXT,DEFAULT,"   *",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr028=`086,023,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr029=`094,023,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr030=`062,031,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr031=`070,031,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr032=`078,031,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr033=`086,031,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr034=`094,031,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr035=`062,039,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr036=`070,039,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr037=`078,039,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr038=`086,039,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
PixClr039=`094,039,008,008,STATICTEXT,DEFAULT,"",DEFAULT,5,0,DEFAULT,DEFAULT,DEFAULT`
ButtonPushed=Dialog("PixClr")
Exit

Article ID:   W16227
File Created: 2009:11:20:09:26:02
Last Updated: 2009:11:20:09:26:02