Deutsch
Quelltexte/ Codesnippets

Colorpicker Getcursorpos Lupe Screenshot Setcurserpos

 

Julian
Schmidt

DEF SetCursorPos(2)!"User32","SetCursorPos"
DEF CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
Var Area&=150
Var Zoom&=5
Windowstyle 80
Window 15,15-Area&+4,Area&+18
CLS 0
Declare Area_Pic&,farbe&,Lupe_Pos&

WhileNot iskey(27)

    Waitinput 30
    Area_Pic&=CaptureArea(CursorPos("X1",1)-((Area&/Zoom&)/2),CursorPos("Y1",1)-((Area&/Zoom&)/2),(Area&/Zoom&),(Area&/Zoom&))
    StartPaint Area_Pic&
    Line 0,((Area&/Zoom&)/2) - ((Area&/Zoom&)/2),((Area&/Zoom&)/2)
    Line ((Area&/Zoom&)/2)+1,((Area&/Zoom&)/2) - (Area&/Zoom&),((Area&/Zoom&)/2)
    Line ((Area&/Zoom&)/2),0 - ((Area&/Zoom&)/2),((Area&/Zoom&)/2)
    Line ((Area&/Zoom&)/2),((Area&/Zoom&)/2)+1 - ((Area&/Zoom&)/2),(Area&/Zoom&)
    EndPaint
    DrawSizedPic Area_Pic&, 2, 2 - Area&, Area&; 0
    StartPaint 0
    farbe&=GetPixel(CursorPos("X1",1),CursorPos("Y1",1))
    EndPaint
    TextColor RGB(255,255,255),0
    DrawText 0, Area&+2, Area&, Area&+18, Space$(100),0
    DrawText 0, Area&+2, Area&, Area&+18, "px: "+Str$(CursorPos("X1",1))+", "+Str$(CursorPos("Y1",1)), 0
    DrawText 0, Area&+2, Area&, Area&+18, "#"+Hex$(GetRValue(farbe&))+Hex$(GetGValue(farbe&))+Hex$(GetBValue(farbe&)), 2
    deleteobject Area_Pic&

    If HandleHover()=%hwnd

        Lupe_Pos&=Lupe_Pos&+1
        Case Lupe_Pos&=4 : Lupe_Pos&=0
        Case Lupe_Pos&=0 : SetWindowPos %hwnd=15,15 - Area&+4,Area&+18;-1
        Case Lupe_Pos&=1 : SetWindowPos %hwnd=15,(%MaxY-(Area&+15+18)) - Area&+4,Area&+18;-1
        Case Lupe_Pos&=2 : SetWindowPos %hwnd=(%MaxX-(Area&+15+4)),(%MaxY-(Area&+15+18)) - Area&+4,Area&+18;-1
        Case Lupe_Pos&=3 : SetWindowPos %hwnd=(%MaxX-(Area&+15+4)),15 - Area&+4,Area&+18;-1

    EndIf

    Case (Iskey(37) or Iskey(38) or Iskey(39) or Iskey(40)) : SetCursorPos(CursorPos("X1",1)+IF(Iskey(37),-1,If(Iskey(39),1,0)),CursorPos("Y1",1)+IF(Iskey(38),-1,If(Iskey(40),1,0)))

EndWhile

Proc CaptureArea

    Parameters xpos%,ypos%,maxX!,maxY!
    Var hdc& = External("USER32","GetDC",0)
    Var hmdc& = External("GDI32","CreateCompatibleDC",hdc&)
    Var hbitmap& = CreateCompatibleBitmap(hdc&,maxX!,maxY!)
    External("GDI32","SelectObject",hmdc&, hbitmap&)
    External("GDI32","BitBlt",hmdc&, 0, 0, maxX!, maxY!, hdc&, xpos%, ypos%, $0CC0020)
    hbitmap& = External("GDI32","GetCurrentObject",hmdc&, 7)
    External("GDI32","DeleteDC",hmdc&)
    External("USER32","ReleaseDC","USER32","ReleaseDC")
    Return hbitmap&

EndProc

Proc CursorPos

    Parameters Modus$, global&, hdl&
    Declare mpos#
    Dim mpos#,8
    External("user32","GetCursorPos",mpos#)
    Case global&<>1 : External("USER32","ScreenToClient",hdl&,mpos#)
    Case Modus$="X1" : Return long(mpos#,0)
    Case Modus$="Y1" : Return long(mpos#,4)
    Case Modus$="X2" : Return IF(global&=1,%maxx,width(hdl&))-long(mpos#,0)
    Case Modus$="Y2" : Return IF(global&=1,%maxy,height(hdl&))-long(mpos#,4)
    Dispose mpos#
    Return 1

EndProc

Proc HandleHover

    Declare mpos#
    Dim mpos#,8
    External("user32","GetCursorPos",mpos#)
    Return External("USER32","WindowFromPoint",long(mpos#,0),long(mpos#,4))
    Dispose mpos#

EndProc

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
07.10.2012  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.852 Betrachtungen

Unbenanntvor 0 min.
ByteAttack27.12.2023
Sven Bader22.11.2023
p.specht21.11.2021
R.Schneider20.11.2021
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

Julian Schmidt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie