ResizeImage() von kleinen (etwa 32 x 32) auf sehr große Bildformate (etwa 1000 x 800) erzeugt unter PB 3.91 (jaPBe, Win98se) einen Absturz beim darauffolgenden Zugriff (UseImage...) auf das Bild, der Compiler meldet "#ImageObject not initilized", obwohl das Bild vorher problemlos angesprochen wurde. Warum ist das so? Das sollte doch nicht so sein, oder?
Das Erstellen eines Bildes mit CreateImage() in diesen Formaten ist kein Problem, ein Workaround ist daher: Bild vernichten und neu erzeugen, nur scheint mir dann ResizeImage() nicht sehr sinnreich. Auch sollte das Resize etwas schneller sein?
Sven
Fehler bei ResizeImage
-
glubschi90
- Beiträge: 274
- Registriert: 04.09.2004 01:43
- Wohnort: Würzburg
Komisch...
Wenn ich dich richtig verstanden habe, find' ich keinen Fehler...
(Hab mal 'nen Code geproggt)
Ich hab aber WinXP - vielleicht liegt's daran... 
Wenn ich dich richtig verstanden habe, find' ich keinen Fehler...
(Hab mal 'nen Code geproggt)
Code: Alles auswählen
CreateImage(0,32,32)
StartDrawing(ImageOutput())
Circle(16,16,6,RGB(200,200,0))
StopDrawing()
ResizeImage(0,1000,800)
UseImage(0)
;FreeImage(0)PureBasic 4.30
Gibt Resize was zurück?
Eventuell eine einschränkung von Win98.
Eventuell eine einschränkung von Win98.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Hi GPI!
Naja, wenn's läuft eine 5-stellige Zahl, wenn's nicht läuft 0. Nützt mir aber nichts, das abzufangen, weil ich ja das Bild weiterhin brauche.
Kann schon sein, dass es an der Speicherverwaltung von Win98 liegt. Man könnte das Bild vielleicht auch schrittweise vergrößern:
[code]CreateImage(0,32,32)
StartDrawing(ImageOutput())
Circle(16,16,6,RGB(200,200,0))
StopDrawing()
Debug ResizeImage(0, 200, 200)
UseImage(0)
Debug ResizeImage(0, 1000, 800)
UseImage(0)
FreeImage(0)[/code]
Das funktioniert, aber dann weiss ich nie, wann und unter welchen Bedingungen es wieder aussteigt.
Sven
Naja, wenn's läuft eine 5-stellige Zahl, wenn's nicht läuft 0. Nützt mir aber nichts, das abzufangen, weil ich ja das Bild weiterhin brauche.
Kann schon sein, dass es an der Speicherverwaltung von Win98 liegt. Man könnte das Bild vielleicht auch schrittweise vergrößern:
[code]CreateImage(0,32,32)
StartDrawing(ImageOutput())
Circle(16,16,6,RGB(200,200,0))
StopDrawing()
Debug ResizeImage(0, 200, 200)
UseImage(0)
Debug ResizeImage(0, 1000, 800)
UseImage(0)
FreeImage(0)[/code]
Das funktioniert, aber dann weiss ich nie, wann und unter welchen Bedingungen es wieder aussteigt.
Sven