Image nicht initialisiert

Anfängerfragen zum Programmieren mit PureBasic.
cyerangle
Beiträge: 46
Registriert: 15.10.2022 13:46
Computerausstattung: Apple iMac 8 GB 3TB

Image nicht initialisiert

Beitrag von cyerangle »

Hallo zusammen,
kaum ist der 1. Fehler behoben kommt hier schon eine neue Meldung mit der ich nichts anfangen kann.
Hier der Code:

Code: Alles auswählen

Enumeration Bilder
  #Bild_Hauptfenster_1
  #Bild_Hauptfenster_2
EndEnumeration
Enumeration Fenster
  #Hauptfenster
EndEnumeration

LoadImage(#Bild_Hauptfenster_1, "/Users/mike/Documents/PureBasic/pf_l.jpg")   ;;;   nach links und rechts zeig. Pfeil laden
;LoadImage(#Bild_Hauptfenster_2, "/Users/mike/Documents/PureBasic/pf_r.jpg")


HauptFenster_1.i
Image_28.i

HauptFenst_1 = OpenWindow(#Hauptfenster , 0, 0, 808, 688, "Shock out", #PB_Window_SystemMenu)
SetWindowColor(#Hauptfenster, RGB(254,255,0))
Image_28 = ImageGadget(#PB_Any, 296, 96, 88, 32, ImageID(#Bild_Hauptfenster_1))  ;;;  Pfeil < zeigen

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
in de vorletzten Zeile sagt er mir > das angegebene Imge ist nicht initialisiert <
warum nicht
Vielen Dank an Euch :praise:
und viele Grüsse
Mike
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Image nicht initialisiert

Beitrag von mk-soft »

1. UseJPEGImageDecoder() fehlt
2. Bei Linux muss die gross klein Schreibung beachtet werden.
3. LoadImage das Ergebnis prüfen.
4. Im Programm für eigene Dateien niemals feste Pfade verwenden

Code: Alles auswählen

UseJPEGImageDecoder()

Enumeration Bilder
  #Bild_Hauptfenster_1
  #Bild_Hauptfenster_2
EndEnumeration
Enumeration Fenster
  #Hauptfenster
EndEnumeration

Define file_image.s = GetUserDirectory(#PB_Directory_Documents) + "PureBasic/pf_l.jpg"
If Not LoadImage(file_image)   ;;;   nach links und rechts zeig. Pfeil laden
  Debug "Image nicht gefunden"
  CallDebugger
EndIf

;LoadImage(#Bild_Hauptfenster_2, "/Users/mike/Documents/PureBasic/pf_r.jpg")


HauptFenster_1.i
Image_28.i

HauptFenst_1 = OpenWindow(#Hauptfenster , 0, 0, 808, 688, "Shock out", #PB_Window_SystemMenu)
SetWindowColor(#Hauptfenster, RGB(254,255,0))
Image_28 = ImageGadget(#PB_Any, 296, 96, 88, 32, ImageID(#Bild_Hauptfenster_1))  ;;;  Pfeil < zeigen

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Image nicht initialisiert

Beitrag von mk-soft »

Oder die Bilder im Programm mitliefern

Code: Alles auswählen

UseJPEGImageDecoder()

Enumeration Bilder
  #Bild_Hauptfenster_1
  #Bild_Hauptfenster_2
EndEnumeration
Enumeration Fenster
  #Hauptfenster
EndEnumeration

CatchImage(#Bild_Hauptfenster_1, ?Image_Pfeil_Link)
CatchImage(#Bild_Hauptfenster_2, ?Image_Pfeil_Rechts)


HauptFenster_1.i
Image_28.i

HauptFenst_1 = OpenWindow(#Hauptfenster , 0, 0, 808, 688, "Shock out", #PB_Window_SystemMenu)
SetWindowColor(#Hauptfenster, RGB(254,255,0))
Image_28 = ImageGadget(#PB_Any, 296, 96, 88, 32, ImageID(#Bild_Hauptfenster_1))  ;;;  Pfeil < zeigen

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

End

DataSection
  Image_Pfeil_Link:
  IncludeBinary "/Users/mike/Documents/PureBasic/pf_l.jpg"
  Image_Pfeil_Rechts:
  IncludeBinary "/Users/mike/Documents/PureBasic/pf_r.jpg"
EndDataSection
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
cyerangle
Beiträge: 46
Registriert: 15.10.2022 13:46
Computerausstattung: Apple iMac 8 GB 3TB

Re: Image nicht initialisiert

Beitrag von cyerangle »

diese Fehlermeldungen treten erst auf seit ich PB 6.02 installiert habe, kann denn dort derr Fehler liegen??
Die bilder im Programm mitliefer ist zwar eine Möglichkeit aber dann müsste ich 10 Bilder mitliefern, ddie ich für mein Spiel benötige. Aus dem Grund
wurde wohl auch im meinem PB Buch davor gewarnt das Programm mit Bildern aufzublähen.
Die Programmzeile wo das Prg. jetzt > Image nicht initialisiert < sagt steht in meinem Prgrammtext bei PB 6.01 und funktioniert.
Vielen Dank an Euch :praise:
und viele Grüsse
Mike
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Image nicht initialisiert

Beitrag von mk-soft »

Teste diese mal.
Wenn es funktioniert, muss was an deinen Path zum bild mit stimmen
Wenn es nicht funktioniert, muss was an der installation von PB was nicht stimmen.

Code: Alles auswählen

;-TOP

UseJPEGImageDecoder()

Enumeration
  #Image1
  #Image2
EndEnumeration
  
Procedure UpdateWindow()
  Protected dx, dy
  dx = WindowWidth(0)
  dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
  ; Resize Gadgets
  CopyImage(#Image1, #Image2)
  ResizeImage(#Image2, dx - 20, dy - 20)
  ResizeGadget(0, 10, 10, dx - 20, dy - 20)
  SetGadgetState(0, ImageID(#Image2))
EndProcedure

Procedure InitProgram()
  Protected path.s
  path = #PB_Compiler_Home + "examples/3d/Data/Textures/" + "terrain_texture.jpg"
  
  If Not LoadImage(#Image1, path)
    MessageRequester("Error", "Load Image " + path)
    End
  EndIf
  
EndProcedure : InitProgram()

Procedure Main()
  Protected dx, dy
  
  #WinStyle = #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget
  
  If OpenWindow(0, #PB_Ignore, #PB_Ignore, 600, 400, "Test Window", #WinStyle)
    ; MenuBar
    CreateMenu(0, WindowID(0))
    MenuTitle("File")
    
    ; StatusBar
    CreateStatusBar(0, WindowID(0))
    AddStatusBarField(#PB_Ignore)
    
    ; Gadgets
    dx = WindowWidth(0)
    dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
    CopyImage(#Image1, #Image2)
    ResizeImage(#Image2, dx - 20, dy - 20)
    ImageGadget(0, 10, 10, dx - 20, dy - 20, ImageID(#Image2), #PB_Image_Border)
    
    ; Bind Events
    BindEvent(#PB_Event_SizeWindow, @UpdateWindow(), 0)
    
    ; Main Loop
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Select EventWindow()
            Case 0
              Break
          EndSelect
          
        Case #PB_Event_Menu
          Select EventMenu()
            
          EndSelect
          
        Case #PB_Event_Gadget
          Select EventGadget()
              
          EndSelect
          
      EndSelect
    ForEver
    
  EndIf
  
EndProcedure : Main()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
cyerangle
Beiträge: 46
Registriert: 15.10.2022 13:46
Computerausstattung: Apple iMac 8 GB 3TB

Re: Image nicht initialisiert

Beitrag von cyerangle »

Danke, Bild wird angezeigt, da muss ich mal schauen.
Vielen Dank an Euch :praise:
und viele Grüsse
Mike
Antworten