Seite 1 von 1
Image nicht initialisiert
Verfasst: 10.06.2023 13:31
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
Re: Image nicht initialisiert
Verfasst: 10.06.2023 13:45
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
Re: Image nicht initialisiert
Verfasst: 10.06.2023 13:55
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
Re: Image nicht initialisiert
Verfasst: 10.06.2023 14:19
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.
Re: Image nicht initialisiert
Verfasst: 10.06.2023 14:45
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()
Re: Image nicht initialisiert
Verfasst: 11.06.2023 11:17
von cyerangle
Danke, Bild wird angezeigt, da muss ich mal schauen.