Thumbnailmaker

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
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Thumbnailmaker

Beitrag von benpicco »

Dieses kleineProgramm erstellt eine webseite mit einer Bidvorschau, die auf klick in einem neuen Fenster das Vollbild zeigt. Ich weiß nicht, ob das sehr beispielhaft ist, aber nützlich ist es.

include datei (include.pb):

Code: Alles auswählen


; PureBasic Visual Designer v3.90 build 1360


;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration
Global path.s
Global pics.w
Global Format.s
Global position.s
Global installpfad.s
Global farbe.l
Global textfarbe.l
;- MenuBar Constants
;
Enumeration
  #MenuBar_0
EndEnumeration


;- Gadget Constants
;
Enumeration
  #Text_1
  #Text_2
  #Frame3D_1
  #Text_4
  #Text_5
  #Text_6
  #Hoehe
  #breite
  #anderung
  #select
  #Text_7
  #Text_8
  #zeilen
  #spalten
  #Text_9
  #titel
  #Text_10
  #Datei
  #Text_12
  #border
  #vor
  #nach
  #erstellen
  #clr1
  #clr2
  #format
  #colour
  #rahmen
  #text_r
  #pos_t
  #pos1
  #pos2
  #pos3
  #maxpics
  #picsges
  #warning
  #pfad
  #pfadwahl
  #pfad_t
  #info1
  #info2
  #progress
  #fontfarbe
  #bildtext
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_0
EndEnumeration


;- Fonts
;
Global FontID1
FontID1 = LoadFont(1, "DiagramTTHabsburg", 10)
Global FontID2
FontID2 = LoadFont(2, "Times New Roman", 10, #PB_Font_Bold)
Global FontID3
FontID3 = LoadFont(3, "Andy", 14, #PB_Font_Bold)

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 292, 176, 629, 341,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Thumbnail maker")
    If CreateMenu(#MenuBar_0, WindowID())
      MenuTitle("")
    EndIf
    
    If CreateStatusBar(#StatusBar_0, WindowID())
    EndIf
    
    If CreateGadgetList(WindowID())
   

      TextGadget(#Text_1, 230, 10, 120, 20, "BenpiccoSoft´s", #PB_Text_Center)
      SetGadgetFont(#Text_1, FontID2)
      TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
      SetGadgetFont(#Text_2, FontID3)
      Frame3DGadget(#Frame3D_1, 200, 0, 170, 60, "")
      TextGadget(#Text_4, 10, 10, 40, 20, "Höhe:")
      TextGadget(#Text_5, 10, 30, 40, 20, "Breite:")
      TextGadget(#Text_6, 10, 50, 50, 20, "Änderung:")
      SpinGadget(#Hoehe, 40, 10, 50, 15, 1, 1024)
      SpinGadget(#breite, 50, 30, 40, 15, 1, 768)
      SpinGadget(#anderung, 70, 50, 40, 15, 0, 30)
      ButtonGadget(#select, 460, 130, 100, 20, "Bildordner wählen")
      ComboBoxGadget(#format,560,130,60,160, #PB_ComboBox_Editable)
      TextGadget(#Text_7, 440, 10, 40, 20, "Zeilen:")
      TextGadget(#Text_8, 440, 30, 40, 20, "Spalten:")
      SpinGadget(#zeilen, 480, 10, 40, 15, 1, 1000)
      SpinGadget(#spalten, 480, 30, 40, 15, 1, 100)
      TextGadget(#Text_9, 450, 60, 30, 20, "Titel:")
      StringGadget(#titel, 490, 60, 100, 20, "Bildvorschau")
      TextGadget(#Text_10, 420, 90, 60, 20, "Dateiname:")
      StringGadget(#Datei, 490, 90, 110, 20, "Bildvorschau.html")
      TextGadget(#Text_12, 10, 70, 70, 20, "Rahmendicke:")
      SpinGadget(#border, 80, 70, 50, 15, 0, 10)
      EditorGadget(#vor, 30, 120, 190, 150)
      SetGadgetText(#vor, "Hier können sie etwas Text eingeben, ")
      AddGadgetItem(#vor,1, "der vor der Bildertabelle gezeigt " )
      AddGadgetItem(#vor,2, "werden soll. Es kann sogar html sein.")
      EditorGadget(#nach, 240, 120, 190, 150)
      SetGadgetText(#nach, "Und hier können sie schreiben,")
      AddGadgetItem(#nach,1," was später unter den Bildern steht.")
      ButtonGadget(#erstellen, 460, 160, 110, 40, "Website erstellen!", #PB_Button_MultiLine)
      TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
 SetGadgetFont(#Text_2, FontID3) 
 ButtonGadget(#clr1, 85,270,100,20,"löschen") 
  ButtonGadget(#clr2, 295,270,100,20,"löschen")
    DisableGadget(#erstellen,1)
    ButtonGadget(#colour, 10,90,90,20,"Hintergrundfarbe")
    TextGadget(#text_r, 135,70,90,15,"Bilderrahmendicke")
    SpinGadget(#rahmen, 223,70,50,15,0,10)
    TextGadget(#pos_t,460,210,150,15,"tabellenausrichtung")
    OptionGadget(#pos1,460,223,50,15,"rechts")
    OptionGadget(#pos2,460,236,50,15,"mitte")
    OptionGadget(#pos3,460,249,50,15,"links")
    StringGadget(#maxpics,540,20,30,15,Str(4*3), #PB_String_ReadOnly|#PB_String_Numeric     )
    StringGadget(#picsges,580,20,30,15,"0",#PB_String_ReadOnly)
    TextGadget(#warning, 530,37,100,20," ")
    TextGadget(#pfad_t, 105,90,100,20,"Bitte Zielpfad wählen")
    StringGadget(#pfad,210,90,120,20,"c:\")
    ButtonGadget(#pfadwahl, 335,90,80,20,"Durchsuchen")
    TextGadget(#info1, 540,8,30,15,"max")
    TextGadget(#info2, 575,8,30,15,"total")
    ProgressBarGadget(#progress, 80,295,300,10,0,200,#PB_ProgressBar_Smooth )
    ButtonGadget(#fontfarbe, 280,68,80,20,"Textfarbe")
    CheckBoxGadget(#bildtext, 460,264,90,15,"Text im Bild")

    EndIf
  EndIf
EndProcedure
Main datei (main.pb):

Code: Alles auswählen

; PureBasic Visual Designer v3.90 build 1360

IncludeFile "include.pb"
Global verz.s

Open_Window_0()
format = "*.bmp"


AddGadgetItem(#format,-1, "*.bmp")
AddGadgetItem(#format,-1, "*.jpg")
AddGadgetItem(#format,-1, "*.png")
AddGadgetItem(#format,-1, "*.gif")
AddGadgetItem(#format,-1, "*.tga")
AddGadgetItem(#format,-1, "*.*")
SetGadgetState(#format,0)
SetGadgetState (#Hoehe,120) : SetGadgetText(#Hoehe,"120")
SetGadgetState (#Breite,220) : SetGadgetText(#Breite,"220")
SetGadgetState (#anderung,5) : SetGadgetText(#anderung,"5")
SetGadgetState (#border,0) : SetGadgetText(#border,"0")
SetGadgetState (#zeilen,4) : SetGadgetText(#zeilen,"4")
SetGadgetState (#spalten,3) : SetGadgetText(#spalten,"3")
SetGadgetState(#rahmen,0): SetGadgetText(#rahmen,"0")
SetGadgetState(#pos2,1)
position = "center"
farbe = RGB(255,255,255)
;MessageRequester("farbe", Str(farbe)+" "+Str(Red(farbe))+" "+Str(Green(farbe))+" "+Str(Blue(farbe))+" " +Hex(Red(farbe))+" "+Hex(Green(farbe))+" "+Hex(Blue(farbe)))
DisableGadget(#select,1)
Repeat
 back: 
  
  Event = WaitWindowEvent()
  
  If Event = #PB_EventMenu
    
    ;Debug "WindowID: " + Str(EventWindowID())
    
    MenuID = EventMenuID()
    
    
    
  EndIf
  
  If Event = #PB_EventGadget
    
    ;Debug "WindowID: " + Str(EventWindowID())
    
    GadgetID = EventGadgetID()
    
    If GadgetID = #Hoehe
    SetGadgetText(#Hoehe,Str(GetGadgetState(#Hoehe))) 
            
    ElseIf GadgetID = #Breite
     SetGadgetText(#Breite,Str(GetGadgetState(#Breite)))  
      
    ElseIf GadgetID = #anderung
      SetGadgetText(#anderung,Str(GetGadgetState(#anderung))) 
      
    ElseIf GadgetID = #select
      Path = PathRequester("Bitte Bildordner wählen","" )
      If path
      If  ExamineDirectory(0, path, format)
                Repeat

            FileType = NextDirectoryEntry()
            If FileType
              FileName$ = DirectoryEntryName()
              If FileType = 1
              pics = pics + 1                
              EndIf
            
              
            EndIf

          Until FileType = 0 
       Else
       MessageRequester("Error!", "Fehler beim Laden der Bilder im Ordner. Stellen sie fest, ob sich Bilder im Ordner Befinden")
       Goto back
       EndIf
      If pics = 0
      MessageRequester("Error!", "Keine Bilder im Ordner")
      Goto back
      EndIf
      Dim bilder.s(pics) 
      Dim bilder_v.s(pics)
      CreateDirectory(installpfad+GetGadgetText(#titel))
        
      ExamineDirectory(0, path, verz+format)
      UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()

      For x = 1 To pics
      SetGadgetState(#progress, Int(((x/pics)*100)*2))
     
      FileType = NextDirectoryEntry()
            If FileType
            CopyFile(path+DirectoryEntryName(), installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName())
              bilder(x) = GetGadgetText(#titel)+"\"+DirectoryEntryName()
              
              CreateImage(x,GetGadgetState(#breite), GetGadgetState(#hoehe))
              LoadImage(X,installpfad+bilder(x))
              StartDrawing(WindowOutput())
              DrawImage(UseImage(x),1000,1000)
              ResizeImage(x, (GetGadgetState(#breite)+GetGadgetState(#anderung)),( GetGadgetState(#hoehe))+GetGadgetState(#anderung))
              StopDrawing()
              
              SaveImage(X, installpfad+GetGadgetText(#titel)+"\Vorschau_"+Str(x)+".bmp",#PB_ImagePlugin_BMP)
              bilder_v(x) = GetGadgetText(#titel)+"\Vorschau_"+Str(x)+".bmp"
              FreeImage(x)
              
              
            
              
            EndIf
            

          Next 
          ;MessageRequester("test0", bilder(x-1))
          ;MessageRequester("test1",path+DirectoryEntryName() + " quelle")
          ;MessageRequester("test2",installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName() + " ziel")
          For x = 1 To pics
          CopyFile(bilder(x),GetGadgetText(#titel))
          bilder(x) = GetGadgetText(#titel) +"\"+ GetFilePart(bilder(x))
          Next
DisableGadget(#erstellen,0)
MessageRequester("Success!", "Es befinden sich " + Str(pics) + " Bilder im ordner " + path + " , die erfolgreich geladen umd nach "+installpfad+GetGadgetText(#titel)+"\ kopiert wurden!")
      EndIf
      SetGadgetText(#picsges, Str(pics)) 
      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      SetGadgetText(#warning,"too much pics!")
      EndIf   
      
    ElseIf GadgetID = #zeilen
      
      SetGadgetText(#zeilen,Str(GetGadgetState(#zeilen))) 
      SetGadgetText(#maxpics,Str(GetGadgetState(#zeilen)*GetGadgetState(#spalten)))
      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      SetGadgetText(#warning,"too much pics!")
      Else
      SetGadgetText(#warning,"              ")
      EndIf   
      
    ElseIf GadgetID = #spalten
      SetGadgetText(#spalten,Str(GetGadgetState(#spalten))) 
      SetGadgetText(#maxpics,Str(GetGadgetState(#zeilen)*GetGadgetState(#spalten)))
      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      SetGadgetText(#warning,"too much pics!")
      Else
      SetGadgetText(#warning,"              ")
      EndIf   
      
      ElseIf GadgetID = #rahmen
      SetGadgetText(#rahmen,Str(GetGadgetState(#rahmen))) 
      
    ElseIf GadgetID = #titel
     
      
    ElseIf GadgetID = #Datei
    
    ElseIf GadgetID = #format
    ;SetGadgetText(1, Str(GetGadgetState(1)))
     format = GetGadgetText(#format)
      
    ElseIf GadgetID = #border
      SetGadgetText(#border,Str(GetGadgetState(#border))) 
      
      
    ElseIf GadgetID = #vor
     
      
    ElseIf GadgetID = #nach
    
    ElseIf GadgetID = #colour
    farbe = ColorRequester()
    ElseIf GadgetID = #fontfarbe
    textfarbe = ColorRequester()
     ElseIf GadgetID = #clr1
     ClearGadgetItemList(#vor)
     
     ElseIf GadgetID = #clr2
     ClearGadgetItemList(#nach)
     
     ElseIf GadgetID = #pos1
     position="right"
     ElseIf GadgetID = #pos2
     position="center"
     ElseIf GadgetID = #pos3
     position="left"
      ElseIf GadgetID = #pfadwahl
      installpfad = PathRequester("Bitte Speicherpfad der Datei angeben","")
      SetGadgetText(#pfad, installpfad)
      DisableGadget(#select,0)
      ElseIf GadgetID = #pfad
      installpfad = GetGadgetText(#pfad)
      DisableGadget(#select,0)

     
     
       
      
    ElseIf GadgetID = #erstellen
    ;If GetGadgetState(#zeilen)*GetGadgetState(#spalten) <= pics
      Goto erstell
     ;Else
     ;MessageRequester("Error", "Nicht genügend bilder vorhanden um Tabelle vollständig auszufüllen. Bitte ändern sie die Zeilen oder Die Spalten!") 
      
    ;EndIf
    
  EndIf
  EndIf
Until Event = #PB_EventCloseWindow

End

erstell:
Z = 0
;DeleteDirectory(installpfad+GetGadgetText(#titel), "*.*" , #PB_FileSystem_Recursive) 
CreateDirectory(installpfad+GetGadgetText(#titel))
ExamineDirectory(0, path, verz+format)
      UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()

      For x = 1 To pics
      SetGadgetState(#progress, Int((x/pics)*100))
     
      FileType = NextDirectoryEntry()
            If FileType
            CopyFile(path+DirectoryEntryName(), installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName())
              bilder(x) = GetGadgetText(#titel)+"\"+DirectoryEntryName()
              
              CreateImage(x,GetGadgetState(#breite), GetGadgetState(#hoehe))
              LoadImage(X,installpfad+bilder(x))
              StartDrawing(WindowOutput())
              DrawImage(UseImage(x),1000,1000)
              ResizeImage(x, (GetGadgetState(#breite)+GetGadgetState(#anderung)),( GetGadgetState(#hoehe))+GetGadgetState(#anderung))
              StopDrawing()
              
              SaveImage(X, installpfad+GetGadgetText(#titel)+"\Vorschau_"+Str(x)+".bmp",#PB_ImagePlugin_BMP)
              bilder_v(x) = GetGadgetText(#titel)+"\Vorschau_"+Str(x)+".bmp"
              FreeImage(x)

              
              
            
              
            EndIf
            

          Next 
          ;MessageRequester("test0", bilder(x-1))
          ;MessageRequester("test1",path+DirectoryEntryName() + " quelle")
          ;MessageRequester("test2",installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName() + " ziel")
          For x = 1 To pics
          CopyFile(bilder(x),GetGadgetText(#titel))
          bilder(x) = GetGadgetText(#titel) +"\"+ GetFilePart(bilder(x))
          Next

 red$= Hex(Red(farbe)) 
 If Len(red$)=1
 red$ = "0"+red$
 EndIf
 green$= Hex(Green(farbe)) 
  If Len(green$)=1
 green$ = "0"+green$
 EndIf    
 blue$= Hex(Blue(farbe)) 
  If Len(blue$)=1
 blue$ = "0"+blue$
 EndIf 
 red2$= Hex(Red(textfarbe)) 
 If Len(red2$)=1
 red2$ = "0"+red2$
 EndIf
 green2$= Hex(Green(textfarbe)) 
  If Len(green2$)=1
 green2$ = "0"+green2$
 EndIf    
 blue2$= Hex(Blue(textfarbe)) 
  If Len(blue2$)=1
 blue2$ = "0"+blue2$
 EndIf   
  
 CreateFile(1,installpfad+"\"+GetGadgetText(#Datei))
 OpenFile(1,installpfad+"\"+GetGadgetText(#Datei))
 UseFile(1)
 WriteStringN("<html>")
 WriteStringN("<head>")
 WriteStringN("<meta name="+Chr(34)+"generator"+Chr(34)+" content="+Chr(34)+"Benpicco´s Thumbnail Maker"+Chr(34)+">")
 WriteStringN("<title>"+ GetGadgetText(#titel) + "</title>")
 WriteStringN("</head>")
 WriteStringN("<body bgcolor = "+Chr(34) +"#"+red$+green$+blue$+Chr(34) + " text="+Chr(34) +"#"+red2$+green2$+blue2$+Chr(34) + ">")
 WriteStringN(GetGadgetText(#vor)+"<br>")
 WriteString("<div align="+position+">")
 WriteStringN("<table border="+Chr(34) + GetGadgetText(#border) + Chr(34) +">")
 For Y = 1 To GetGadgetState(#zeilen)
 WriteStringN("<tr>")
 For x = 1 To GetGadgetState(#spalten)
  Z = Z+1
   SetGadgetState(#progress, Int((((GetGadgetState(#zeilen)+GetGadgetState(#spalten))/Z)*100)+100))

 OnErrorResume()
 If Z > pics
 Goto weiter
 EndIf
 If GetGadgetState(#bildtext)=1
 WriteStringN("<div style="+Chr(34)+"position:absolute;"+Chr(34)+">")
 EndIf
 WriteStringN("<td><a href="+Chr(34)+bilder(z)+Chr(34)+" target = "+Chr(34)+"_blank"+Chr(34)+"><img src="+Chr(34)+bilder_v(z)+Chr(34)+"height = "+Chr(34)+GetGadgetText(#hoehe)+Chr(34)+" border="+GetGadgetText(#rahmen)+" width = "+Chr(34)+GetGadgetText(#breite)+Chr(34)+" alt="+Chr(34)+GetFilePart(bilder(z))+Chr(34)+"+ onMouseOver="+Chr(34)+"this.width ="+Chr(39)+Str(GetGadgetState(#breite)+GetGadgetState(#anderung))+Chr(39)+Chr(59)+" this.height = "+Chr(39)+ Str(GetGadgetState(#hoehe)+GetGadgetState(#anderung))+Chr(39)+ Chr(59)+Chr(34)+" onMouseOut = "+Chr(34)+"this.width="+Chr(39)+GetGadgetText(#breite)+Chr(39)+Chr(59)+" this.height="+Chr(39)+GetGadgetText(#hoehe)+Chr(39)+Chr(59)+Chr(34)+"></a></td>")
 If GetGadgetState(#bildtext) = 1
 textbild$=RemoveString(GetFilePart(bilder(Z)), GetExtensionPart(("."+bilder(Z))),1) 
 WriteStringN( "<p style="+Chr(34)+"position:absolute; top:3%; left:25%; width:100%;"+Chr(34)+"><font size=2%>"+Chr(34)+textbild$+Chr(34)+"</font></div></p>")
 EndIf
 Next
 weiter:
 WriteStringN("</tr>")
 Next
 WriteStringN("</table></div><br>")
 WriteStringN(GetGadgetText(#nach)+"<br>")
 WriteStringN("</body></html>") 
 CloseFile(1)
 SetGadgetState(#progress,200)
 MessageRequester("Sucess!", "Bildvorschau wurde erfolgreich erstellt!")
 RunProgram(installpfad+"\"+GetGadgetText(#Datei))
 
Naja, das mit den meheren dateien hat noch einen praktischen nutzen:
Ich hab nämlich nur die demo, da gehen nicht mehr als ca. 800 Zeilen... (tatsächlich ca. um die 650)

ups, kann das mal jemand nach Anwendungen verschieben?
Zuletzt geändert von benpicco am 03.09.2005 19:39, insgesamt 1-mal geändert.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Whow! Da hast du dir ja einige Arbeit gemacht.
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

code

Beitrag von romartens »

hi is nicht schlecht baue gerade sowas ähnliches,
du solltest aber bei mehreren bilder die thumbs auf mehreren seiten anzeigen lassen sieht übersichtlicher aus,und ein zurück button wäre auch gut!
geht mit javascript(javascript:history.back())
sonst gut gemacht!
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Ok, hab ich gemacht (das mit den Seiten), aber ein Zurück button, da hat der Browser doch schon einen :mrgreen:. Ich hab jetzt auch mal einen Härtetest gemacht, ich hab ca. 2800 Bilder aus dem Bildarchiv (rtp) des rpg-makers *g*.Die hab ich auf 29 Seiten verteilt, damit war der Übersicht wohl genüge getan ^^. Sowas läd zwar kein normaler Mensch als Bildvorschau hoch, aber das es funktioniert hat, zeigt, das es jetzt geht, und hier ist nochmal der jetzt überarbeitete code:
include.pb

Code: Alles auswählen

;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration
Global path.s
Global pics.w
Global Format.s
Global position.s
Global installpfad.s
Global farbe.l
Global textfarbe.l
;- MenuBar Constants
;
Enumeration
  #MenuBar_0
EndEnumeration


;- Gadget Constants
;
Enumeration
  #Text_1
  #Text_2
  #Frame3D_1
  #Text_4
  #Text_5
  #Text_6
  #Hoehe
  #breite
  #anderung
  #select
  #Text_7
  #Text_8
  #zeilen
  #spalten
  #Text_9
  #titel
  #Text_10
  #Datei
  #Text_12
  #border
  #vor
  #nach
  #erstellen
  #clr1
  #clr2
  #clr3
  #format
  #colour
  #rahmen
  #text_r
  #pos_t
  #pos1
  #pos2
  #pos3
  #maxpics
  #picsges
  #warning
  #pfad
  #pfadwahl
  #pfad_t
  #info1
  #info2
  #progress
  #fontfarbe
  #bildtext
  #maxbild
  #text_11
  #seiten
  #info3
  #qualwal
  #qualitat
  #qtxt
  #endbildX
  #endbildY
  #endbiltxtX
  #endbiltxtY
  #vorq
  #vqtxt
  #head
  #hinfo
  #vorschau
  #back
  #forward
  #erase
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_0
EndEnumeration


;- Fonts
;
Global FontID1
FontID1 = LoadFont(1, "DiagramTTHabsburg", 10)
Global FontID2
FontID2 = LoadFont(2, "Times New Roman", 10, #PB_Font_Bold)
Global FontID3
FontID3 = LoadFont(3, "Andy", 14, #PB_Font_Bold)


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 100, 176, 850, 390,  #PB_Window_MinimizeGadget | #PB_Window_SizeGadget , "Thumbnail Maker")
    If CreateMenu(#MenuBar_0, WindowID())
      MenuTitle("")
    EndIf
    
    If CreateStatusBar(#StatusBar_0, WindowID())
    EndIf
    
    If CreateGadgetList(WindowID())
   

      TextGadget(#Text_1, 230, 10, 120, 20, "BenpiccoSoft´s", #PB_Text_Center)
      SetGadgetFont(#Text_1, FontID2)
      TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
      SetGadgetFont(#Text_2, FontID3)
      Frame3DGadget(#Frame3D_1, 200, 0, 170, 60, "")
      TextGadget(#Text_4, 10, 10, 40, 20, "Höhe:")
      TextGadget(#Text_5, 10, 30, 40, 20, "Breite:")
      TextGadget(#Text_6, 10, 50, 50, 20, "Änderung:")
      SpinGadget(#Hoehe, 40, 10, 50, 15, 1, 1024)
      SpinGadget(#breite, 50, 30, 40, 15, 1, 768)
      SpinGadget(#anderung, 70, 50, 40, 15, 0, 30)
      ButtonGadget(#select, 460, 130, 100, 20, "Bildordner wählen")
      ComboBoxGadget(#format,560,130,60,160, #PB_ComboBox_Editable)
      TextGadget(#Text_7, 440, 10, 40, 20, "Zeilen:")
      TextGadget(#Text_8, 440, 30, 40, 20, "Spalten:")
      SpinGadget(#zeilen, 480, 10, 40, 15, 1, 1000)
      SpinGadget(#spalten, 480, 30, 40, 15, 1, 100)
      TextGadget(#Text_9, 450, 60, 30, 20, "Titel:")
      StringGadget(#titel, 490, 60, 100, 20, "Bildvorschau")
      TextGadget(#Text_10, 420, 90, 60, 20, "Dateiname:")
      StringGadget(#Datei, 490, 90, 110, 20, "Bildvorschau.html")
      TextGadget(#Text_12, 10, 70, 70, 20, "Rahmendicke:")
      SpinGadget(#border, 80, 70, 50, 15, 0, 10)
      EditorGadget(#vor, 30, 120, 190, 150)
      SetGadgetText(#vor, "Hier können sie etwas Text eingeben, ")
      AddGadgetItem(#vor,1, "der vor der Bildertabelle gezeigt " )
      AddGadgetItem(#vor,2, "werden soll. Es kann sogar html sein.")
      EditorGadget(#nach, 240, 120, 190, 150)
      SetGadgetText(#nach, "Und hier können sie schreiben,")
      AddGadgetItem(#nach,1," was später unter den Bildern steht.")
      ButtonGadget(#erstellen, 460, 160, 110, 40, "Website erstellen!", #PB_Button_MultiLine)
      TextGadget(#Text_2, 220, 30, 140, 20, "Thumbnail Maker", #PB_Text_Center)
 SetGadgetFont(#Text_2, FontID3) 
 ButtonGadget(#clr1, 85,270,100,20,"löschen") 
  ButtonGadget(#clr2, 295,270,100,20,"löschen")
    DisableGadget(#erstellen,1)
    ButtonGadget(#colour, 10,90,90,20,"Hintergrundfarbe")
    TextGadget(#text_r, 135,70,90,15,"Bilderrahmendicke")
    SpinGadget(#rahmen, 223,70,50,15,0,10)
    TextGadget(#pos_t,460,210,150,15,"tabellenausrichtung")
    OptionGadget(#pos1,460,225,50,15,"rechts")
    OptionGadget(#pos2,460,240,50,15,"mitte")
    OptionGadget(#pos3,460,255,50,15,"links")
    StringGadget(#maxpics,540,20,30,15,Str(4*3), #PB_String_ReadOnly|#PB_String_Numeric     )
    StringGadget(#picsges,580,20,30,15,"0",#PB_String_ReadOnly)
    ;TextGadget(#warning, 530,37,100,20," ")
    TextGadget(#pfad_t, 105,90,100,20,"Bitte Zielpfad wählen")
    StringGadget(#pfad,210,90,120,20,"c:\")
    ButtonGadget(#pfadwahl, 335,90,80,20,"Durchsuchen")
    TextGadget(#info1, 540,8,30,15,"max")
    TextGadget(#info2, 575,8,30,15,"total")
    ProgressBarGadget(#progress, 105,350,300,10,0,200,#PB_ProgressBar_Smooth )
    ButtonGadget(#fontfarbe, 280,68,80,20,"Textfarbe")
    CheckBoxGadget(#bildtext, 500,500,90,15,"Text im Bild")
    TextGadget(#text_11,440,270,80,15,"Bilder pro Seite:")
    SpinGadget(#maxbild,520,270,50,15,1,10000)
    TextGadget(#info3,530,37,35,15,"Seiten:")
    StringGadget(#seiten,565,37,20,15,"no pics yet",#PB_String_ReadOnly)
    
    CheckBoxGadget(#qualwal,20,300,200,15,"Bilder nicht ändern")
    TrackBarGadget(#qualitat,20,320,200,15,0,10,#PB_TrackBar_Ticks )
    TextGadget(#qtxt,10,280,50,15,"Qualität:")
    TextGadget(#endbiltxtX,230,300,80,15,"Originalbildweite")
    TextGadget(#endbiltxtY,230,320,80,15,"Originalbildhöhe")
    SpinGadget(#endbildX,320,300,50,15,1,10000)
    SpinGadget(#endbildY,320,320,50,15,1,10000)
    TextGadget(#vqtxt,100,10,100,15,"Vorschauqualität")
    TrackBarGadget(#vorq,95,30,100,15,0,10,#PB_TrackBar_Ticks)
    EditorGadget(#head,600,160,190,150)
    TextGadget(#hinfo,625,140,200,15,"Head Bereich editieren:")
    ButtonGadget(#clr3, 645,310,100,20,"löschen")
    ButtonGadget(#back,645,0,15,15,"<")
    ButtonGadget(#forward,660,0,15,15,">")
    ButtonGadget(#erase,750,130,50,20,"Löschen")
    EndIf
  EndIf
EndProcedure
main.pb

Code: Alles auswählen

IncludeFile "include.pb"
Global verz.s
Global bps.f
Global result.b
Global seite
Global anz.w
Global x.l
Dim bilder.s(1)
Dim bilder_v.s(1)
Open_Window_0()
Format = "*.bmp"
StartDrawing(WindowOutput())
DrawingMode(1)
Locate(625,50)
DrawText("Hier erscheinen die Bilder")
StopDrawing()
CreateImage(0,80,15)
UseImage(0)
StartDrawing(ImageOutput())
Box(0,0,80,15,RGB(255,255,255))
FrontColor(0,0,0)
DrawText("Beispieltext")
StopDrawing()
StartDrawing(WindowOutput())
DrawImage(UseImage(0),365,68)
StopDrawing()
DisableGadget(#back,1)
DisableGadget(#forward,1)
SetGadgetState(#endbildX,640)
SetGadgetText(#endbildX,Str(640))
SetGadgetState(#endbildY,480)
SetGadgetText(#endbildY,Str(480))
SetGadgetState(#qualitat,7)
DisableGadget(#qualitat,1)
SetGadgetState(#vorq,10)
SetGadgetState(#qualwal,1)
DisableGadget(#endbildX,1)
DisableGadget(#endbildY,1)
DisableGadget(#erase,1)
AddGadgetItem(#format,-1, "*.bmp")
AddGadgetItem(#format,-1, "*.jpg")
AddGadgetItem(#format,-1, "*.png")
AddGadgetItem(#format,-1, "*.gif")
AddGadgetItem(#format,-1, "*.tga")
AddGadgetItem(#format,-1, "*.*")
AddStatusBarField(100)
StatusBarText(#StatusBar_0,0,"built 19th april 05", #PB_StatusBar_Center | #PB_StatusBar_Raised )
SetGadgetState(#format,0)
SetGadgetState (#Hoehe,120) : SetGadgetText(#Hoehe,"120")
SetGadgetState (#breite,220) : SetGadgetText(#breite,"220")
SetGadgetState (#anderung,5) : SetGadgetText(#anderung,"5")
SetGadgetState (#border,1) : SetGadgetText(#border,"1")
SetGadgetState (#zeilen,4) : SetGadgetText(#zeilen,"4")
SetGadgetState (#spalten,3) : SetGadgetText(#spalten,"3")
SetGadgetState(#rahmen,0): SetGadgetText(#rahmen,"0")
SetGadgetState(#pos2,1)
SetGadgetState(#maxbild, 100)
SetGadgetText(#maxbild, Str(100))
position = "center"
farbe = RGB(255,255,255)
DisableGadget(#select,1)
Repeat
 back: 
If GetGadgetState(#maxbild) > pics
  SetGadgetState(#maxbild, pics)
EndIf

  Event = WaitWindowEvent()
  
  If Event = #PB_EventMenu
    
   
    MenuID = EventMenuID()
    
    
    
  EndIf
  
  If Event = #PB_EventGadget
     
    
    GadgetID = EventGadgetID()
    
    If GadgetID = #Hoehe
    SetGadgetText(#Hoehe,Str(GetGadgetState(#Hoehe))) 
            
  ElseIf GadgetID = #breite
    SetGadgetText(#breite,Str(GetGadgetState(#breite))) 
  ElseIf GadgetID = #back
    If anz > 1
      FreeImage(anz)
      anz=anz-1
      LoadImage(anz,bilder(anz))
    StartDrawing(WindowOutput())
    DrawImage(UseImage(anz),625,10,GetGadgetState(#breite),GetGadgetState(#Hoehe))
    DrawingMode(1)
    FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
    Locate(625,13)
    DrawText("Bild "+Str(anz)+" von "+Str(pics))
    StopDrawing()
    EndIf
  ElseIf GadgetID = #forward 
    If anz < pics
      FreeImage(anz)
      anz=anz+1
      LoadImage(anz,bilder(anz))
    StartDrawing(WindowOutput())
    DrawImage(UseImage(anz),625,10,GetGadgetState(#breite),GetGadgetState(#Hoehe))
    DrawingMode(1)
    Locate(625,13)
     FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
    DrawText("Bild "+Str(anz)+" von "+Str(pics))
    StopDrawing() 
  EndIf
ElseIf GadgetID = #erase
  result = MessageRequester("Waring", "Wirklich löschen?", #PB_MessageRequester_YesNo)
  If result=6 And pics > 1
    UseJPEGImageDecoder()
    UsePNGImageDecoder()
    UseTGAImageDecoder()
    UseTIFFImageDecoder()
    For x=anz+0 To pics-1
      bilder(x+0) = bilder(x+1)
      ;bilder_v(x+0) = bilder_v(x+1)
      LoadImage(x,bilder(x))
      Next
    ;FreeImage(pics)
    pics=pics-1
    anz=1
    LoadImage(anz,bilder(x))
    StartDrawing(WindowOutput())
    DrawImage(UseImage(anz),625,10,GetGadgetState(#breite),GetGadgetState(#Hoehe))
    DrawingMode(1)
    Locate(625,13)
    FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
    DrawText("Bild "+Str(anz)+" von "+Str(pics))
    StopDrawing() 
    MessageRequester("Info", "Gelöscht!")
  Else
    EndIf
  
  ElseIf GadgetID = #endbildX
    SetGadgetText(#endbildX,Str(GetGadgetState(#endbildX))) 
  ElseIf GadgetID = #endbildY
    SetGadgetText(#endbildY,Str(GetGadgetState(#endbildY)))  
  ElseIf GadgetID = #maxbild
    SetGadgetText(#maxbild,Str(GetGadgetState(#maxbild)))  
    bps=pics/GetGadgetState(#maxbild)
    If bps <> Int(bps)
      bps=Int(bps)+1
    EndIf
    SetGadgetText(#seiten,Str(bps))
  ElseIf GadgetID = #qualwal
    DisableGadget(#qualitat, GetGadgetState(#qualwal))
    DisableGadget(#endbildX, GetGadgetState(#qualwal))
    DisableGadget(#endbildY, GetGadgetState(#qualwal))
    
    ElseIf GadgetID = #anderung
      SetGadgetText(#anderung,Str(GetGadgetState(#anderung))) 
      
    ElseIf GadgetID = #select
      path = PathRequester("Bitte Bildordner wählen","" )
      If path
      If  ExamineDirectory(0, path, Format)
                Repeat

            FileType = NextDirectoryEntry()
            If FileType
              FileName$ = DirectoryEntryName()
              If FileType = 1
              pics = pics + 1                
              EndIf
            
              
            EndIf

          Until FileType = 0 
       Else
       MessageRequester("Error!", "Fehler beim Laden der Bilder im Ordner. Stellen sie fest, ob sich Bilder im Ordner Befinden")
       Goto back
       EndIf
      If pics = 0
      MessageRequester("Error!", "Keine Bilder im Ordner")
      Goto back
      EndIf
      Dim bilder.s(pics) 
      Dim bilder_v.s(pics)
      CreateDirectory(installpfad+GetGadgetText(#titel))
        
      ExamineDirectory(0, path, verz+Format)
      UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseJPEGImageEncoder()
      For x = 1 To pics
      SetGadgetState(#progress, Int(((x/pics)*100)*2))
     
      FileType = NextDirectoryEntry()
            If FileType
               bilder(x) = path+DirectoryEntryName()
              
               
            EndIf
            

          Next 
          LoadImage(pics,bilder(pics))
          StartDrawing(WindowOutput())
          DrawImage(UseImage(pics),625,10,GetGadgetState(#breite),GetGadgetState(#Hoehe))
          StopDrawing()
        DisableGadget(#erstellen,0)
        DisableGadget(#back,0)
        DisableGadget(#forward,0)
        DisableGadget(#erase,0)
        anz=pics
        StartDrawing(WindowOutput())
        DrawingMode(1)
        Locate(625,13)
        FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
        DrawText("Bild "+Str(anz)+" von "+Str(pics))
        StopDrawing() 
MessageRequester("Success!", "Es befinden sich " + Str(pics) + " Bilder im ordner " + path + " , die erfolgreich geladen umd nach "+installpfad+GetGadgetText(#titel)+"\ kopiert wurden!")
      EndIf
      SetGadgetText(#picsges, Str(pics)) 
      SetGadgetState(#maxbild,pics)
      SetGadgetText(#maxbild, Str(pics))
      bps=pics/GetGadgetState(#maxbild)
        If bps <> Int(bps)
          bps=Int(bps)+1
        EndIf
        SetGadgetText(#seiten,Str(bps))
      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      ;SetGadgetText(#warning,"too much pics!")
      EndIf   
      
    ElseIf GadgetID = #zeilen
      bps=pics/GetGadgetState(#maxbild)
      If bps <> Int(bps)
        bps=Int(bps)+1
      EndIf
      SetGadgetText(#zeilen,Str(GetGadgetState(#zeilen))) 
      SetGadgetText(#maxpics,Str(GetGadgetState(#zeilen)*GetGadgetState(#spalten)*bps))
      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      ;SetGadgetText(#warning,"too much pics!")
      Else
      ;SetGadgetText(#warning,"              ")
      EndIf   
      
    ElseIf GadgetID = #spalten
      bps=pics/GetGadgetState(#maxbild)
      If bps <> Int(bps)
        bps=Int(bps)+1
      EndIf
      SetGadgetText(#spalten,Str(GetGadgetState(#spalten))) 
      SetGadgetText(#maxpics,Str(GetGadgetState(#zeilen)*GetGadgetState(#spalten)*bps))

      If pics > GetGadgetState(#zeilen)*GetGadgetState(#spalten)
      ;SetGadgetText(#warning,"too much pics!")
      Else
      ;SetGadgetText(#warning,"              ")
    EndIf
  
      
      ElseIf GadgetID = #rahmen
      SetGadgetText(#rahmen,Str(GetGadgetState(#rahmen))) 
      
    ElseIf GadgetID = #titel
     
      
    ElseIf GadgetID = #Datei
    
    ElseIf GadgetID = #format
    ;SetGadgetText(1, Str(GetGadgetState(1)))
     Format = GetGadgetText(#format)
      
    ElseIf GadgetID = #border
      SetGadgetText(#border,Str(GetGadgetState(#border))) 
      
      
    ElseIf GadgetID = #vor
     
      
    ElseIf GadgetID = #nach
    
    ElseIf GadgetID = #colour
      farbe = ColorRequester()
      FreeImage(0)
      CreateImage(0,80,15)
      UseImage(0)
      StartDrawing(ImageOutput())
      Box(0,0,80,15,farbe)
      FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
      DrawingMode(1)
      DrawText("Beispieltext")
      StopDrawing()
      StartDrawing(WindowOutput())
      DrawImage(UseImage(0),365,68)
      StopDrawing()
    ElseIf GadgetID = #fontfarbe
      textfarbe = ColorRequester()
      FreeImage(0)
      CreateImage(0,80,15)
      UseImage(0)
      StartDrawing(ImageOutput())
      Box(0,0,80,15,farbe)
      FrontColor(Red(textfarbe),Green(textfarbe),Blue(textfarbe))
      DrawingMode(1)
      DrawText("Beispieltext")
      StopDrawing()
      StartDrawing(WindowOutput())
      DrawImage(UseImage(0),365,68)
      StopDrawing()
     ElseIf GadgetID = #clr1
     ClearGadgetItemList(#vor)
     
  ElseIf GadgetID = #clr2
    ClearGadgetItemList(#nach)
  ElseIf GadgetID = #clr3
    ClearGadgetItemList(#head)
     
     ElseIf GadgetID = #pos1
     position="right"
     ElseIf GadgetID = #pos2
     position="center"
     ElseIf GadgetID = #pos3
     position="left"
      ElseIf GadgetID = #pfadwahl
      installpfad = PathRequester("Bitte Speicherpfad der Datei angeben","")
      SetGadgetText(#pfad, installpfad)
      DisableGadget(#select,0)
      ElseIf GadgetID = #pfad
      installpfad = GetGadgetText(#pfad)
      DisableGadget(#select,0)

     
     
       
      
    ElseIf GadgetID = #erstellen
    ;If GetGadgetState(#zeilen)*GetGadgetState(#spalten) <= pics
      Goto erstell
     ;Else
     ;MessageRequester("Error", "Nicht genügend bilder vorhanden um Tabelle vollständig auszufüllen. Bitte ändern sie die Zeilen oder Die Spalten!") 
      
    ;EndIf
    
  EndIf
  EndIf
Until Event = #PB_EventCloseWindow

End

erstell:
Z = 0
CreateDirectory(installpfad+GetGadgetText(#titel))
ExamineDirectory(0, path, verz+Format)
UseJPEGImageDecoder()
UseTGAImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseJPEGImageEncoder()
bps=pics/GetGadgetState(#maxbild)
If bps <> Int(bps)
  bps=Int(bps)+1
EndIf
;MessageRequester("info","Seiten:"+Str(bps))

      For x = 1 To pics
      SetGadgetState(#progress, Int((x/pics)*100))
     
      FileType = NextDirectoryEntry()
            If FileType
            CopyFile(bilder(x), installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName())
              bilder(x) = GetGadgetText(#titel)+"\"+DirectoryEntryName()
              
              CreateImage(x,GetGadgetState(#breite), GetGadgetState(#Hoehe))
              LoadImage(x,installpfad+bilder(x))
              StartDrawing(WindowOutput())
              DrawImage(UseImage(x),1000,1000)
              ResizeImage(x, (GetGadgetState(#breite)+GetGadgetState(#anderung)),( GetGadgetState(#Hoehe))+GetGadgetState(#anderung))
              StopDrawing()
              
              SaveImage(x, installpfad+GetGadgetText(#titel)+"\vorschau_"+Str(x)+".jpg",#PB_ImagePlugin_JPEG,GetGadgetState(#vorq))
              bilder_v(x) = GetGadgetText(#titel)+"\vorschau_"+Str(x)+".jpg"
              FreeImage(x)
              If GetGadgetState(#qualwal)=0
                
                CreateImage(x,1,1)
                LoadImage(x,installpfad+bilder(x))
                StartDrawing(WindowOutput())
                DrawImage(UseImage(x),1000,1000)
                ResizeImage(x, GetGadgetState(#endbildX), GetGadgetState(#endbildY))
                StopDrawing()
                SaveImage(x, installpfad+GetGadgetText(#titel)+"\bild_"+Str(x)+".jpg",#PB_ImagePlugin_JPEG, GetGadgetState(#qualitat))
                bilder(x) = GetGadgetText(#titel)+"\bild_"+Str(x)+".jpg"
                FreeImage(x)
              EndIf
              
              
            EndIf
            

          Next 
          ;MessageRequester("test0", bilder(x-1))
          ;MessageRequester("test1",path+DirectoryEntryName() + " quelle")
          ;MessageRequester("test2",installpfad+GetGadgetText(#titel)+"\"+DirectoryEntryName() + " ziel")
          For x = 1 To pics
          CopyFile(bilder(x),GetGadgetText(#titel))
          bilder(x) = GetGadgetText(#titel) +"\"+ GetFilePart(bilder(x))
          Next

 red$= Hex(Red(farbe)) 
 If Len(red$)=1
 red$ = "0"+red$
 EndIf
 green$= Hex(Green(farbe)) 
  If Len(green$)=1
 green$ = "0"+green$
 EndIf    
 blue$= Hex(Blue(farbe)) 
  If Len(blue$)=1
 blue$ = "0"+blue$
 EndIf 
 red2$= Hex(Red(textfarbe)) 
 If Len(red2$)=1
 red2$ = "0"+red2$
 EndIf
 green2$= Hex(Green(textfarbe)) 
  If Len(green2$)=1
 green2$ = "0"+green2$
 EndIf    
 blue2$= Hex(Blue(textfarbe)) 
  If Len(blue2$)=1
 blue2$ = "0"+blue2$
EndIf 
seite=0  
Repeat
 seite=seite+1 
 CreateFile(seite,installpfad+Str(seite)+GetGadgetText(#Datei))
 OpenFile(seite,installpfad+Str(seite)+GetGadgetText(#Datei))
 UseFile(seite)
 WriteStringN("<html>")
 WriteStringN("<head>")
 WriteStringN("<meta name="+Chr(34)+"generator"+Chr(34)+" content="+Chr(34)+"Benpicco´s Thumbnail Maker"+Chr(34)+">")
 WriteStringN("<title>"+ GetGadgetText(#titel) + "</title>")
 WriteString(GetGadgetText(#head))
 WriteStringN("</head>")
 WriteStringN("<body bgcolor = "+Chr(34) +"#"+red$+green$+blue$+Chr(34) + " text="+Chr(34) +"#"+red2$+green2$+blue2$+Chr(34) + ">")
 WriteStringN(GetGadgetText(#vor)+"<br>")
 WriteString("<div align="+position+">")
  WriteStringN("<table border="+Chr(34) + GetGadgetText(#border) + Chr(34) +">")

 For Y = 1 To GetGadgetState(#zeilen)
   WriteStringN("<tr>")
  For x = 1 To GetGadgetState(#spalten)
     If Z => (seite*GetGadgetState(#maxbild)) Or Z=>pics 
      Goto weiter
    Else
      Z=Z+1
     EndIf
SetGadgetState(#progress, Int((((GetGadgetState(#zeilen)+GetGadgetState(#spalten))/Z)*100)+100))
 If GetGadgetState(#bildtext)=1
  WriteStringN("<div style="+Chr(34)+"position:absolute;"+Chr(34)+">")
 EndIf
 WriteStringN("<td><center><a href="+Chr(34)+bilder(Z)+Chr(34)+" target = "+Chr(34)+"_blank"+Chr(34)+"><img src="+Chr(34)+bilder_v(Z)+Chr(34)+"height = "+Chr(34)+GetGadgetText(#Hoehe)+Chr(34)+" border="+GetGadgetText(#rahmen)+" width = "+Chr(34)+GetGadgetText(#breite)+Chr(34)+" alt="+Chr(34)+GetFilePart(bilder(Z))+Chr(34)+"+ onMouseOver="+Chr(34)+"this.width ="+Chr(39)+Str(GetGadgetState(#breite)+GetGadgetState(#anderung))+Chr(39)+Chr(59)+" this.height = "+Chr(39)+ Str(GetGadgetState(#Hoehe)+GetGadgetState(#anderung))+Chr(39)+ Chr(59)+Chr(34)+" onMouseOut = "+Chr(34)+"this.width="+Chr(39)+GetGadgetText(#breite)+Chr(39)+Chr(59)+" this.height="+Chr(39)+GetGadgetText(#Hoehe)+Chr(39)+Chr(59)+Chr(34)+"></a></center></td>")
 If GetGadgetState(#bildtext) = 1
  textbild$=RemoveString(GetFilePart(bilder(Z)), GetExtensionPart(("."+bilder(Z))),1) 
  WriteStringN( "<p style="+Chr(34)+"position:absolute; top:3%; left:25%; width:100%;"+Chr(34)+"><font size=2%>"+Chr(34)+textbild$+Chr(34)+"</font></div></p>")
 EndIf

Next
 weiter:
 WriteStringN("</tr>")
 Next
 WriteStringN("</table></div><br>")
 WriteStringN(GetGadgetText(#nach)+"<br>")

  If bps > 1
  WriteStringN("<p align="+Chr(34)+"center"+Chr(34)+">Seiten: ")
  For x = 1 To bps+0
    WriteStringN("<a href="+Chr(34)+Str(x)+GetGadgetText(#Datei)+Chr(34)+"> "+Str(x)+" </a>")
  Next
  WriteStringN("</p><div align="+Chr(34)+"right"+Chr(34)+"><small>Seite "+Str(seite)+" von "+Str(bps)+"</small></div>")
  EndIf
WriteStringN("</body></html>") 
CloseFile(seite)
SetGadgetState(#progress,200)
Until seite=bps

MessageRequester("Sucess!", "Bildvorschau wurde erfolgreich erstellt!")
 RunProgram(installpfad+"1"+GetGadgetText(#Datei))
Goto back
     
Ok, ich weiß nicht, ob der Code jetzt Beispielqualitäten bekommen hat, aber er ist sicher etwas nützlicher geworden ;)

@edit: Qualitätseinstellungen hinzugefügt
@edit: Bildervorschau hinzugefügt
@edit: Löschfunction
Zuletzt geändert von benpicco am 19.04.2005 17:29, insgesamt 2-mal geändert.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Habt ihr noch ideen für ein Paar features (<--besser? :mrgreen: )
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Antworten