Seite 1 von 1

hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwenden

Verfasst: 06.04.2014 23:54
von funkheld
Hallo, guten Tag.
Kann man dieses hDC = GetDC_(...) auf Sprite oder #ImageGadget anwenden ?
Wenn ja , wie geht das bitte?

Danke.
Gruss

Re: hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwende

Verfasst: 07.04.2014 17:04
von mk-soft
Nicht getestet...

hDC = GetDC_(GadgetID(#Gadget???))

Re: hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwende

Verfasst: 07.04.2014 22:31
von funkheld
Hmm..., geht wohl doch nicht.
Bei mir funktioniert es nicht.

Danke.
Gruss

Re: hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwende

Verfasst: 07.04.2014 22:45
von NicTheQuick
Ich bin kein Windows-User, aber normalerweise sollte 'ImageID()' in Verbindung mit 'GetDC_()' funktionieren. Mit Sprites geht es nicht, weil die über DirectX oder OpenGL funktionieren und nichts mit der Windows-GDI am Hut haben.

Re: hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwende

Verfasst: 07.04.2014 23:28
von funkheld
Jup danke.
Mit ImageID() wird auch nicht gezeichnet.

Gruss

Code: Alles auswählen

CreateImage(#Image_1, 200,200, 24, $0)
ImageGadget(#Image_Gadget_1, 120,  10, 200,200, ImageID(#Image_1))

*DC = GetDC_( ImageID(#Image_1))         
Ellipse_(*DC, 10, 10, 100, 100)  
ReleaseDC_( ImageID(#Image_1), *DC) 
ImageGadget(#Image_Gadget_1, 120,  10, 200,200, ImageID(#Image_1))

Re: hDC = GetDC_(...) auf Sprite oder #Image_Gadget anwende

Verfasst: 23.07.2014 05:25
von chi
so ähnlich... ;)

Code: Alles auswählen

OpenWindow(0, 0, 0, 640, 400, "click on the canvas", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)

CreateImage(0, WindowWidth(0)-20, WindowHeight(0)-20)
ImageGadget(0, 10, 10, WindowWidth(0)-20, WindowHeight(0)-20, ImageID(0))

Repeat
  event = WaitWindowEvent()
  Select event
    Case #WM_LBUTTONDOWN, #WM_LBUTTONDBLCLK
      
      hDC = GetDC_(GadgetID(0))
      
      oImg = SelectObject_(hDC, ImageID(0))
      
      brush = CreateSolidBrush_(RGB(Random(255),Random(255),Random(255)))
      oBrush = SelectObject_(hDC, brush)
      
      Ellipse_(hDC, Random(WindowWidth(0)-20), Random(WindowHeight(0)-20),  Random(WindowWidth(0)-20), Random(WindowHeight(0)-20))
      
      SelectObject_(hDC, oBrush)
      DeleteObject_(brush)
      
      SelectObject_(hDC, oImg)
      
      DeleteDC_(hDC)
      
  EndSelect
Until event = #PB_Event_CloseWindow