In der PB Imageverwaltung scheint allgemein was nicht zustimmen.
In der Hilfe steht ja nun auch drin dass man Image nur bis zu einer Größe von 8192 Pixel erzeugen kann. Das habe ich noch nicht hin bekommen. Bei mir ist bei 4405x4405 Schluss. Hauptspeicher habe ich mit 1GB wohl genug und wird noch nicht mal im Ansatz belastet.
Wenn ich das untere Beispiel einmal starte dann bleibt es bei 4405 stehen, wie ich es auch erwartet habe. Bei meinen Laptop mit 512MB geht das ganze bis 5381. Starte ich es zweimal, dann läuft es weiter. Besonderst Interessant wird es, wenn man den Code nur einmal startet und wartet bis er stehen bleibt, dann ein zweites mal startet und den Imagespeicher in einen der Programme mal frei gibt und mal nicht.
Sehr komisch, Programm 1 läuft dann weiter, wobei es ab und zu mal kein Image erzeugen kann.
Einfach 2x starten. Einmal mit den anfangs Wert 4000 und einmal 1.
Beispiel:
Code: Alles auswählen
CreateGadgetList(OpenWindow(0,0,0,300,240,#PB_Window_SystemMenu|#PB_Window_ScreenCentered ,"Test"))
TextGadget(0,0,0,300,24,"")
TextGadget(1,0,30,300,24,"")
TextGadget(2,0,60,300,24,"")
TextGadget(3,0,90,300,24,"")
TextGadget(4,0,120,300,24,"")
TextGadget(5,0,150,300,24,"")
CheckBoxGadget(6,0,180,300,24,"UseImage benutzen")
CheckBoxGadget(7,0,210,300,24,"Imagespeicherhalten")
SetGadgetState(7,#True)
size=Val(InputRequester("Eingabe","Anfangssize eingeben:","1"))
If size<1
size=1
EndIf
MainState=0
Repeat
Event=WindowEvent()
If Event
Else
If IsImage(0)
FreeImage(0)
EndIf
CreateImage(0,size,size)
If IsImage(0)
size+1
SetGadgetText(0,"Testsize: "+Str(size))
If GetGadgetState(6)
UseImage(0)
SetGadgetText(1,"Image 0 width: "+Str(ImageWidth()))
SetGadgetText(2,"Image 0 height: "+Str(ImageHeight()))
Else
SetGadgetText(1,"")
SetGadgetText(2,"")
EndIf
Else
SetGadgetText(1,"")
SetGadgetText(2,"")
If IsImage(1)
SetGadgetText(3,"Testimage erzeugt")
If GetGadgetState(6)
UseImage(1)
SetGadgetText(4,"Image 1 width: "+Str(ImageWidth()))
SetGadgetText(5,"Image 1 height: "+Str(ImageHeight()))
Else
SetGadgetText(4,"")
SetGadgetText(5,"")
EndIf
Else
CreateImage(1,size-1,size-1)
SetGadgetText(3,"Testimage nicht erzeugt("+Str(size)+")")
SetGadgetText(4,"")
SetGadgetText(5,"")
EndIf
SetGadgetText(0,"Fehler bei: "+Str(size))
Delay(25)
If GetGadgetState(7)=0
If IsImage(1)
FreeImage(1)
EndIf
EndIf
EndIf
EndIf
Until Event=#PB_Event_CloseWindow
Kann natürlich auch an was anderen liegen, dann weis ich aber nicht an was.