Meinst du eine freie, rechteckige Auswahl?
Beispiel für Auswahlrahmen mit gedrückter, linker Maustaste aufziehen:
Variablen path und color bitte entsprechend anpassen
Code: Alles auswählen
EnableExplicit
Structure struct_auswahl
  x.l ;Startpunkt der Auswahl, -1 wenn nichts ausgewählt ist
  y.l ;Startpunkt der Auswahl
  width.l ;Breite der Auswahl
  height.l  ;Höhe der Auswahl
  selecting.b
EndStructure
OpenWindow(0,0,0,400,400,"Auswahlrahmen",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
Global auswahl.struct_auswahl
Global path.s = "test.bmp"
Global color = #Green
LoadImage(0,path)
If Not IsImage(0)
  Debug "Fehler beim Laden von "+path+"!"
  End
EndIf
CreateImage(1,ImageWidth(0),ImageHeight(0))
Procedure repaint()
  Protected mx, my
  mx = WindowMouseX(0)
  my = WindowMouseY(0)
  StartDrawing(ImageOutput(1))
    DrawImage(ImageID(0),0,0)
    If mx <> -1 And my <> -1 ;Maus innerhalb des Fensters?
      If auswahl\selecting = #True
        auswahl\width = mx - auswahl\x
        auswahl\height = my - auswahl\y
      EndIf
    EndIf
    If auswahl\x <> -1 ;wenn etwas ausgewählt ist
      DrawingMode(#PB_2DDrawing_Outlined)
      Box(auswahl\x,auswahl\y,auswahl\width,auswahl\height,color)
    EndIf
  StopDrawing()
  StartDrawing(WindowOutput(0))
    DrawImage(ImageID(1),0,0)
  StopDrawing()
EndProcedure
auswahl\selecting = #False
auswahl\x = -1
Repeat
  Define event = WaitWindowEvent(10)
  
  Select event
    Case #PB_Event_CloseWindow
      End
    Case #WM_LBUTTONDOWN ;linke Maustaste gedrückt
      auswahl\x = WindowMouseX(0)
      auswahl\y = WindowMouseY(0)
      auswahl\selecting = #True
    Case #WM_LBUTTONUP ;linke Maustaste losgelassen
      auswahl\selecting = #False
      If auswahl\width = 0
        auswahl\x = -1
      EndIf
  EndSelect
  
  repaint()
ForEver
Noch ein kleiner Tipp zur Auswahlfarbe:
Eine feste Farbe wie in meinem Beispiel ist nicht optimal, wenn man vorher nicht genau weiß wie die Grafik aussieht, denn evtl. ist der Rahmen dann schlecht oder garnicht zu sehen.
Besser wäre es den Rahmen automatisch abzuheben, z.B. gestreift, blinkend oder eine eigene Prozedur schreiben, um die Linien als Negativ des darunter liegenden Bildes zu zeichnen. Das wird dann zwar bunt, aber ist meist gut zu sehen.