Image does not exist

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Valnar

Betreff: Image does not exist

BeitragMi, Okt 22, 2008 6:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebe Community.
Ich peinige euch mal wieder mit meinen dumme fragen und meinen ekelhaften code Very Happy

Also ich hab folgenden code

Code: [AUSKLAPPEN]

global images_logo
function startmenu$()
   ;[...] Hier noch mehr Code [...]
   images_logo = draw_logo_image("Pfad-zur-datei",Dezimal-Farbwert)
   ;[...] ne ganze latte mehr :D [...}
   drawimage images_logo,100,100
   ;Bild wird korrekt dargestellt.
   ;hier kommt normalerweise ne ifabfrage die einen ins hauptspiel bringt
end function

function maingame$()
   ;[...]Code natürlich[...]
   drawimage images_logo,20,20
   ;nach diesem befehl sagt er mir "Image Does not Exist
   ;Aber warum?
end function

Function draw_logo_image(path$,bgcol)
   
   Local tmp_logo1 = LoadImage(path)
   MaskImage tmp_logo1,255,0,255
   MidHandle tmp_logo1
   
   images_logo = CreateImage (100,100)
   SetBuffer ImageBuffer(images_logo)
   Color 0,0,bgcol
   Rect 0,0,100,100,1
   Color 0,0,0
   Rect 0,0,100,100,0
   DrawImage tmp_logo1,50,50
   
   Color 0,0,0
   SetBuffer BackBuffer()
   FreeImage tmp_logo1
   
   Return images_logo
End Function


Naja vieles ist schon im Code enthalten.
Also ich lade ein bild als Global (Variable vorher als Global gekennzeichnet)
Es geht auch wenn ich nicht images_logo als returnwert zurückgebe, da es ja global ist.
Nur in der neuen schleife geht es eben nicht.

Nun die Frage an euch:
WARUM wird in der zwichenzeit das Bild anscheinend aus dem Speicher gelöscht???

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Okt 22, 2008 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur so nebenbei. Die Zuweiseung IMAGES_LOGO = draw_logo_image ist überflüssig, da IMAGES_LOGO Global ist und der Wert bereits in draw_logo_image beschrieben wird.

Bei mir funktioniert das Beispiel...
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

SpionAtom

BeitragMi, Okt 22, 2008 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du auch vor dem ganzen Code einen Grafikmodus gesetzt?
Code: [AUSKLAPPEN]
Graphics....


Sonst funktionieren im Allgemeinen Bildbefehle nicht.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Valnar

BeitragMi, Okt 22, 2008 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
@hectic: Ich weiss das, anfänglich war es auch nicht drinnen. Wenn man verzweifelt ist dan probiert man alles aus.
Ausserdem steht es auch im Text das es ohne images_logo als returnwert auchnicht geht

@SpiobAtom: Sicher hab ich das Wink Ich fand das als zu selbstverständlich als dass ich dafür meine zeit und es mit reinschreibe Wink

robotx

BeitragMi, Okt 22, 2008 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
An dem Code kanns nicht liegen, bei mir funktioniert er nämlich auch.

mfg robotx
www.botbomb.robotzgames.de
www.robotzgames.de

The_Nici

BeitragMi, Okt 22, 2008 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man überhaupt im Imagebuffer mit Draw-Befehlen rummurksen? Dachte das geht nicht.

Valnar

BeitragMi, Okt 22, 2008 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici hat Folgendes geschrieben:
Kann man überhaupt im Imagebuffer mit Draw-Befehlen rummurksen? Dachte das geht nicht.

Natürlich geht das, wozu soll sonst der ImageBuffer und CreateImage-Befehl gut sein?
Oder kann es eventuell sein dass es DOCH nicht geht und dadurch dass ich das Orginalbild Temporär habe es nicht in einer anderen Funktion funktioniert?

The_Nici

BeitragMi, Okt 22, 2008 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinte eher dass DrawImage nicht funktioniert im Imagebuffer, soweit ich weiss.

Valnar

BeitragDo, Okt 23, 2008 0:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Fehler gefunden.
Ein Typischer Idiotenfehler Razz

Ich habe das Bild in einen Imagefield gesetzt und alle GUI-Elemente von escape gelöscht. Dabei wurde aber auch das Image gelöscht.

Teilweise muss ich sagen das dies zum glück passiert ist, denn nun habe ich einen neuen Punkt für meine escapeGUI-Erweiterung ^^

d-bug

BeitragDo, Okt 23, 2008 8:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Nici, du kannst im Imagebuffer genau so rum mockeln wie im Back oder Frontbuffer!

The_Nici

BeitragDo, Okt 23, 2008 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, irgendwo wurde mir irgendwann mal gesagt dass es nicht geht, kA warum. Oo
Naja jedenfalls danke für die Verbesserung.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group