Galeriemaker

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

Galeriemaker

Beitrag von romartens »

Hat einer von euch lust mit mir zusammen an meinem Galerieeditor weiter zuarbeiten,er soll html seiten für fotos generieren!
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

hier ist der Code ist aber noch nicht fertig!

Beitrag 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
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Vor UseJPEGImageDecoder() gehört da noch ein EndProcedure in den Code, damit er kompiliert wird.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

code

Beitrag von romartens »

jau sorry habs gesehn waren zwei dateien vorher deswegen muß beim kopieren passiert sein,danke erstmal!
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

Beitrag 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
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag 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
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

re: gallery

Beitrag 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/
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag 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?
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

programmieren

Beitrag von romartens »

du könntest an der htmlseiten generierung mitwirken,mann könnte zum beispiel css styles mit einbauen oder auch designvorlagen
Benutzeravatar
romartens
Beiträge: 57
Registriert: 23.03.2005 19:55
Wohnort: dortmund

achso

Beitrag 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!
Antworten