Seite 1 von 1

Verliere mein Bild... [Gelöst]

Verfasst: 02.05.2006 09:28
von winduff
Hey ;-)

Folgendes Problem: Mein Programm erstellt ein Bild, (drawimage()).

Nun, wenn ich das Fenster minimiere, ein anderes drüber ziehe o.Ä. verschwindet das Bild, bis ich es nochmal "malen" lasse - mit drawimage...

Wie kann ich das Ändern?!

Liebe Grüße
Chris

Verfasst: 02.05.2006 09:31
von DrShrek
Zeig deinen code.

Verfasst: 02.05.2006 09:37
von winduff
lol :-)

Geht schlecht, aber hier der code wo das Bild erstellt wird:

Code: Alles auswählen

Procedure make_image()
  CreateImage(#Signatur,350,19)

  StartDrawing(ImageOutput(#Signatur))

  DrawImage(ImageID(background),0,0)

  DrawAlphaImage(ImageID(diagonal),0,0)  
  
  If transparent = 1   
    DrawAlphaImage(ImageID(#userimage),imagex,imagey)
  Else   
    DrawImage(ImageID(#userimage),imagex,imagey)
  EndIf   
  DrawAlphaImage(ImageID(spiegelung),0,0)
  If ramen = 1
    DrawAlphaImage(ImageID(hintergrund_rahmen),0,0)
  Else : EndIf
  DrawingMode(#PB_2DDrawing_Transparent)
  DrawingFont(FontID(1))
  farbe = Val(farbe$)
  DrawText(xText,yText,text$,farbe)
  StopDrawing() 
  StartDrawing(WindowOutput(#main_window))
  DrawImage(ImageID(#Signatur),50,250,350,19)
  
  StopDrawing()
  
EndProcedure

Verfasst: 02.05.2006 10:25
von edel

Code: Alles auswählen

StartDrawing(WindowOutput(#main_window))  
Nimm hier lieber ein Imagegadget

Windows sendet beim wiederherstellen usw. , WM_PAINT , das heisst
das Fenster wird in dem Bereich neugezeichnet und dein Bild uebermalt.
Entweder malst du bei jedem #PB_Event_Repaint das Bild neu , besser
waere wm_paint in einem callback , oder , wie oben schon geschrieben,
du nimmst ein ImageGadget , was wohl anfaengerfreundlicher ist.

Verfasst: 02.05.2006 13:50
von winduff
hey hallodri,

vielen dank ;-) Hab ich mir vorher beim Kaffeetrinken auch gedacht, ein Imagegadget dürfte es auch tun ;-)

Mal schaun auf welche Weise ich das Löse, im Notfall dann ImageGadget ;-)

Liebe Grüße
Chris