Seite 1 von 2

Galeriemaker

Verfasst: 23.03.2005 19:57
von romartens
Hat einer von euch lust mit mir zusammen an meinem Galerieeditor weiter zuarbeiten,er soll html seiten für fotos generieren!

hier ist der Code ist aber noch nicht fertig!

Verfasst: 23.03.2005 20:20
von romartens

Code: Alles auswählen

Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #ListIcon_0
  #Frame3D_0
  #Button_0
  #imagegad_0
  #textgad_0
EndEnumeration
;proceduren--------------------

Procedure.f imagefaktor(breite,hoehe)
wert.f=hoehe/breite
ProcedureReturn wert
EndProcedure

Procedure.f filegroesse(wert1,wert2)
wert.f=wert1/wert2
ProcedureReturn wert
EndProcedure

;----------------------------
;- Fonts
LoadImage(0,"bmps/1.bmp")
Global FontID1
FontID1 = LoadFont(1, "Arial", 10)
Global FontID2
FontID2 = LoadFont(2, "Arial", 10, #PB_Font_Bold)

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 684, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Jpegviewer noch nicht fertig für gallerytool")
    If CreateGadgetList(WindowID())
      
      ;- Höhe
      ListIconGadget(#ListIcon_0, 12, 56, 385, 210, "Dateiname", 200, #PB_ListIcon_GridLines)
      AddGadgetColumn(#ListIcon_0, 2, "Kilobyte", 60)
      AddGadgetColumn(#ListIcon_0, 3, "Breite", 60)
      AddGadgetColumn(#ListIcon_0, 4, "Höhe", 60)
      Frame3DGadget(#Frame3D_0, 412, 57, 250, 200, "")
      ButtonGadget(#Button_0, 13, 275, 100, 24, "Verzeichnis:", #PB_Button_Default)
      SetGadgetFont(#Button_0, FontID2)
      ImageGadget(#imagegad_0,437,85,100,100,UseImage(0))
      TextGadget(#textgad_0,412,50,190,20,"Bild kann nicht angezeigt werden!")
      HideGadget(#textgad_0,1)
    EndIf
  EndIf
UseJPEGImageDecoder()


Open_Window_0()

Repeat
  
  Event = WaitWindowEvent()
  type=EventType()
  
  
  
  If Event = #PB_EventGadget
    
     
    
    
    GadgetID = EventGadgetID()
    
    If GadgetID = #ListIcon_0
      
      
    ElseIf GadgetID = #Button_0
    ClearGadgetItemList(#listicon_0)
    zaehler=0
    DateiName$ = PathRequester("Verzeichnis", "c:\")
If ExamineDirectory(0,Dateiname$,"*.jpg") 
    Repeat 
       FileType = NextDirectoryEntry() 
       If FileType 
       
      
          AddGadgetItem(#listicon_0,-1,DirectoryEntryName())
          texte$=GetGadgetItemText(#listicon_0,zaehler,0)
          imgadr$=dateiname$+texte$
        LoadImage(zaehler,imgadr$)
        filekb.f = FileSize(imgadr$)
        
        SetGadgetItemText(#listicon_0,zaehler,StrF(filegroesse(filekb,1024),2),1)
        SetGadgetItemText(#listicon_0,zaehler,Str(ImageWidth()),2)
        SetGadgetItemText(#listicon_0,zaehler,Str(ImageHeight()),3)

zaehler=zaehler+1
           
            
           
          While WindowEvent(): Wend 
       EndIf 
    Until FileType = 0 
EndIf 
 
 

      
    EndIf
   
If type=#PB_EventType_LeftClick And Gadgetid=#listicon_0 
reihe=GetGadgetState(#listicon_0)

If reihe=-1
Else

text$=GetGadgetItemText(#listicon_0,reihe,0)
imgadr$=Dateiname$+text$
FreeGadget(#imagegad_0)
LoadImage(reihe,imgadr$)

If CreateGadgetList(WindowID())
hoehe=ImageHeight()
    breite=ImageWidth()
    
    
    faktor.f=imagefaktor(hoehe,breite)
    handle=ResizeImage(reihe,150*faktor,150)
    If ImageWidth()>200 Or ImageHeight()>200
     HideGadget(#textgad_0,0)   
    Else 
    HideGadget(#textgad_0,1)   
    ImageGadget(#imagegad_0,430,90,180,180,UseImage(reihe))

SetGadgetState(#imagegad_0,handle)
EndIf

EndIf
 

EndIf

EndIf

    
  EndIf
  
Until Event = #PB_EventCloseWindow

End
Edit by Kiffi: Code-Tags gesetzt
Edit2 by Kiffi: Doppelpost gelöscht

Verfasst: 24.03.2005 15:37
von Andre
Vor UseJPEGImageDecoder() gehört da noch ein EndProcedure in den Code, damit er kompiliert wird.

code

Verfasst: 24.03.2005 19:26
von romartens
jau sorry habs gesehn waren zwei dateien vorher deswegen muß beim kopieren passiert sein,danke erstmal!

Verfasst: 25.03.2005 11:22
von romartens
so hier ist der code :

Code: Alles auswählen

Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #ListIcon_0
  #Frame3D_0
  #Button_0
  #imagegad_0
  #textgad_0
EndEnumeration
;proceduren--------------------

Procedure.f imagefaktor(breite,hoehe)
wert.f=hoehe/breite
ProcedureReturn wert
EndProcedure

Procedure.f filegroesse(wert1,wert2)
wert.f=wert1/wert2
ProcedureReturn wert
EndProcedure

;----------------------------
;- Fonts
LoadImage(0,"bmps/1.bmp")
Global FontID1
FontID1 = LoadFont(1, "Arial", 10)
Global FontID2
FontID2 = LoadFont(2, "Arial", 10, #PB_Font_Bold)

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 684, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Jpegviewer noch nicht fertig für gallerytool")
    If CreateGadgetList(WindowID())
     
      ;- Höhe
      ListIconGadget(#ListIcon_0, 12, 56, 385, 210, "Dateiname", 200, #PB_ListIcon_GridLines)
      AddGadgetColumn(#ListIcon_0, 2, "Kilobyte", 60)
      AddGadgetColumn(#ListIcon_0, 3, "Breite", 60)
      AddGadgetColumn(#ListIcon_0, 4, "Höhe", 60)
      Frame3DGadget(#Frame3D_0, 412, 57, 250, 200, "")
      ButtonGadget(#Button_0, 13, 275, 100, 24, "Verzeichnis:", #PB_Button_Default)
      SetGadgetFont(#Button_0, FontID2)
      ImageGadget(#imagegad_0,437,85,100,100,UseImage(0))
      TextGadget(#textgad_0,412,50,190,20,"Bild kann nicht angezeigt werden!")
      HideGadget(#textgad_0,1)
    EndIf
  EndIf
endprocedure
UseJPEGImageDecoder()


Open_Window_0()

Repeat
 
  Event = WaitWindowEvent()
  type=EventType()
 
 
 
  If Event = #PB_EventGadget
   
     
   
   
    GadgetID = EventGadgetID()
   
    If GadgetID = #ListIcon_0
     
     
    ElseIf GadgetID = #Button_0
    ClearGadgetItemList(#listicon_0)
    zaehler=0
    DateiName$ = PathRequester("Verzeichnis", "c:\")
If ExamineDirectory(0,Dateiname$,"*.jpg")
    Repeat
       FileType = NextDirectoryEntry()
       If FileType
       
     
          AddGadgetItem(#listicon_0,-1,DirectoryEntryName())
          texte$=GetGadgetItemText(#listicon_0,zaehler,0)
          imgadr$=dateiname$+texte$
        LoadImage(zaehler,imgadr$)
        filekb.f = FileSize(imgadr$)
       
        SetGadgetItemText(#listicon_0,zaehler,StrF(filegroesse(filekb,1024),2),1)
        SetGadgetItemText(#listicon_0,zaehler,Str(ImageWidth()),2)
        SetGadgetItemText(#listicon_0,zaehler,Str(ImageHeight()),3)

zaehler=zaehler+1
           
           
           
          While WindowEvent(): Wend
       EndIf
    Until FileType = 0
EndIf
 
 

     
    EndIf
   
If type=#PB_EventType_LeftClick And Gadgetid=#listicon_0
reihe=GetGadgetState(#listicon_0)

If reihe=-1
Else

text$=GetGadgetItemText(#listicon_0,reihe,0)
imgadr$=Dateiname$+text$
FreeGadget(#imagegad_0)
LoadImage(reihe,imgadr$)

If CreateGadgetList(WindowID())
hoehe=ImageHeight()
    breite=ImageWidth()
   
   
    faktor.f=imagefaktor(hoehe,breite)
    handle=ResizeImage(reihe,150*faktor,150)
    If ImageWidth()>200 Or ImageHeight()>200
     HideGadget(#textgad_0,0)   
    Else
    HideGadget(#textgad_0,1)   
    ImageGadget(#imagegad_0,430,90,180,180,UseImage(reihe))

SetGadgetState(#imagegad_0,handle)
EndIf

EndIf
 

EndIf

EndIf

   
  EndIf
 
Until Event = #PB_EventCloseWindow

End

Verfasst: 25.03.2005 12:31
von bluejoke
Der Code mag zwar funktionieren, wenn man den Imageaufruf rausnimmt (welches Bild wird da überhaupt geladen? für was ist das gut?) aber IMHO ist das ein sehr magerer Ansatz:
1. funktioniert nicht richtig und ist sehr langsam beim Verzeichnis einlesen
2. für was braucht man einen JPG-Viewer? Wichtiger wäre doch die Code-Erstellung selbst

re: gallery

Verfasst: 25.03.2005 15:36
von romartens
Der code ist vom ersten tag als ich angefangen habe das programm zu erstellen, den jetzigen stand werde ich hier nich als code reinsetzen will ja nicht das jeder meine software hat gebe den code nur denjenigen die an einer entwicklung eines gallerytools intressiert sind und es mit mir zusammen machen wollen!

Hier ist aber die executable des programms und auch mein simpler mp3-player

http://home.arcor.de/romartens/

Verfasst: 25.03.2005 16:53
von bluejoke
aha! Schon viiiiiiiiiiiiiiiiiiiiieeeeel besser!
Auch das nicht alle Bilder sofort geladen werden ist gut.
Es fehlt IMHO noch ein Abbrechen-Knopf.
Das Ergebnis hab ich mir noch nicht angeschaut.

Was wäre denn zu programmieren?

programmieren

Verfasst: 25.03.2005 19:45
von romartens
du könntest an der htmlseiten generierung mitwirken,mann könnte zum beispiel css styles mit einbauen oder auch designvorlagen

achso

Verfasst: 25.03.2005 19:46
von romartens
danke für den tip mit dem abbrechen knopf,habe auch eingebaut das man das programm nur einmal starten kann d.h. nicht doppelt zur gleichen zeit ausführen kann,haste noch ein paar tips fürs programm!