Frage zur ImageGadget

Anfängerfragen zum Programmieren mit PureBasic.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Frage zur ImageGadget

Beitrag von delikanli_19_82 »

hallo leute,

kann man eigentlich den ImageGadget so resizen, das die Zeichnung innerhalb aktualisiert werden kann?

ich habe so einige versuche angestellt, aber sobald ich die GadgetSize ändere, bleibt die innere Bildabschnitt genauso wie am anfang.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Frage zur ImageGadget

Beitrag von TomS »

Du musst halt auch das Image resizen.
Dabei immer mit Kopie arbeiten, sonst hast du nach 2mal vergrößern und verkleinern nur noch Pixelmatsch und kein Bild mehr.

Code: Alles auswählen

CreateImage(0,200,200)
StartDrawing(ImageOutput(0))
Box(0,0,100,100,$00ff00)
StopDrawing()

OpenWindow(0,0,0,200,200,"",#PB_Window_SystemMenu|#PB_Window_SizeGadget)
ImageGadget(0,0,0,200,200,ImageID(0))
Repeat
	Select WaitWindowEvent(20)
		Case #PB_Event_CloseWindow 
			End
		Case #PB_Event_SizeWindow
			ResizeGadget(0,0,0,WindowWidth(0),WindowHeight(0))
			
			CopyImage(0,1)
			If WindowWidth(0)>0 And WindowHeight(0)>0 ;Das ist nötig, da das Image zerstört wird, wenn die Höhe oder Breite 0 wird.
				ResizeImage(1,WindowWidth(0), WindowHeight(0))
				SetGadgetState(0,ImageID(1))
			EndIf 
	EndSelect 
ForEver
Antworten