Aktuelle Zeit: 13.12.2018 23:22

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 03.04.2018 06:41 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
Hallo zusammen...
ich stricke mir gerade ein kleines Programm um diverse Metadaten zu Bildern abzuspeichern. Da habe ich von
der "ThumbListGadget" Lib hier im Forum gelesen. Allerdings sind sämtliche links die ich hier und im Netz finden
konnte tot. Weiß jemand, ob diese Lib noch existiert und wo man die evtl. downloaden kann.
Oder gibt es vielleicht eine andere Möglichkeit Miniaturansichten wie in Picasa, XNView o.ä anzeigen zu lassen,
die einer von euch schon einmal zusammengebastelt hat und mir evtl. zur Verfügung stellen würde ;)

__________________________________________________
Thread verschoben
Ankündigungen>Projekte, Ressourcen, Tools
06.04.2018
RSBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 03.04.2018 08:48 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Wie der Zufall so will, hab ich doch letzt erst im englischen Forum drüber gelesen....

http://www.purebasic.fr/english/viewtop ... 12&t=70295

Wenn es sowas ist.... Aber da ging es definitiv um Thumbnails.

_________________
PureBasic 5.46 LTS / 5.62 (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 03.04.2018 20:36 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
Hmm, geht in die richtige Richtung.Allerdings nicht so gaaaannnz das, was ich mir vorstelle. Ich habe mal eben schnell was
zusammengestrickt, was wohl am besten zeigt, was ich mir so vorstelle. Ich lese in dem Beispiel alleBilddateien des ausgewählten
Verzeichnis in eine Datenliste ein und generiere zu jeder Datei ein "Icon" zur Darstellung im ListIconGadget.
Ich komme aber irgendwie nicht so richtig mit dem Handling der ImageListe klar. Warum muss ich erst ein 0tes-Elementn hinzufügen,
damit alle Bilddateien angezeigt werden und wie kann ich die Liste zurücksetzen, wenn ich ein neues Verzeichnis auswähle.
Schaut euch doch den Beispielcode einfach mal an, aber bitte... der ist echt heiß gestrickt, haut mich nicht zu sehr :mrgreen:

Code:
UseJPEG2000ImageDecoder()
UseJPEGImageDecoder()
UseTIFFImageDecoder()
UseGIFImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()

Enumeration 0
  #WIN_INTERFACE
  #LST_PREVIEW
  #TRE_FILELIST
  #CON_LISTINFO: #TXT_LISTINFO
EndEnumeration 

Enumeration 1000
  #TEMPIMAGE
  #FNT_ARIAL
EndEnumeration   
   
;Struktur für die eingelesenen Daten erstellen (erstmal nur Dateiname, später mehr)
Structure ContentStruct
  FILE.s
EndStructure

;Datenliste und globale Variablen erstellen
Global NewList CONTENT.ContentStruct()
Global imgList.l

;Ein "Dummy-Image" für die Imagelist (Element 0) erstellen (Keine Ahnung warum das nötig ist)
If  CreateImage(0, 156, 156, 32)
  If StartDrawing(ImageOutput(0))
    StopDrawing()
  EndIf 
EndIf

Procedure CreateThumbnail(usrImage.l, file.s)
  ;Bilddatei öffnen, Daten einlesen und Grafik für die Anzeige im ListIconGadget erstellen
  If LoadImage(#TEMPIMAGE, file)
    Debug "Lese Bilddaten von " + file
    imgW.l = ImageWidth (#TEMPIMAGE)
    imgH.l = ImageHeight(#TEMPIMAGE)
    imgN.s = GetFilePart(file)
    imgD.s = Str(imgW) + "x" + Str(imgH) + " - " + Str(FileSize(file)/1024) + "kB"
    imgT.s = FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss", GetFileDate(file, #PB_Date_Modified))
    ;Neue Bildgrößen berechen
    If imgW > imgH
      relWH.f = imgH / imgW: newW  = 120: newH = 120 * relWH
    ElseIf imgH > imgW
      relWH.f = imgW / imgH: newH  = 96: newW = 96 * relWH
    ElseIf imgW = imgH
      newH  = 120: newW = 120
    EndIf
    If CreateImage(usrImage, 156, 156, 32, $EAEAEA)
      If StartDrawing(ImageOutput(usrImage))
        DrawingFont(FontID(#FNT_ARIAL))
        Box(  14,   4, 128, 104, $FFFFFF)
        Box(   0, 111, 156,  54, $CAEDED)
        DrawText((156 - TextWidth(imgN)) / 2, 112, imgN, $0, $CAEDED)
        DrawText((156 - TextWidth(imgD)) / 2, 126, imgD, $0, $CAEDED)
        DrawText((156 - TextWidth(imgD)) / 2, 140, imgT, $0, $CAEDED)
        DrawingMode(#PB_2DDrawing_Outlined)
        Box(   0,   0, 156, 156, $ACACAC)
        Box(  14,   4, 128, 104, $B7B7B7)
        DrawImage(ImageID(#TEMPIMAGE),  15 + ((126 - newW) / 2),  8 + ((96 - newH) / 2), newW, newH)
        StopDrawing()
      EndIf
    EndIf 
    ImageList_Add_(imgList, ImageID(usrImage), 0)
    FreeImage(#TEMPIMAGE)
  EndIf
EndProcedure

Procedure ReadDirectoryEntries(usrPath.s)
  ;Alle Bilddateien im ausgewählten Verzeichnis auslesen und in der Datenliste speichern
  ;usrPath.s = GetGadgetText(#TRE_FILELIST)
  pattern.s = "gif|jpeg|jpg|tga|tif|tiff|bmp|png"
  Protected dir = ExamineDirectory(#PB_Any, usrPath, "*.*")
  If dir
    ClearList(CONTENT())
    While NextDirectoryEntry(dir)
      If DirectoryEntryType(dir) = #PB_DirectoryEntry_File
        filename.s = usrPath + DirectoryEntryName(dir)
        If FindString(LCase(pattern), LCase(GetExtensionPart(filename))) > 0
          AddElement(CONTENT())
          CONTENT()\FILE = filename
        EndIf
      EndIf
    Wend
  EndIf
EndProcedure

Procedure RefillListicon()
  ;ListIconGadget mit den Grafiken aus der Imageliste befüllen
  If CountGadgetItems(#LST_PREVIEW) > 0
    ;Ist das Gadget bereits gefüllt, den Inhalt löschen und die Imageliste leeren
    ImageList_Destroy_(imgList)
    ClearGadgetItems(#LST_PREVIEW)
  EndIf 
  imgList = ImageList_Create_(156, 156, #ILC_COLOR32|#ILC_MASK, 0, 20)
  ;Wenn ein 0tes Bild in die Imageliste eingefügt wird, funktioniert alles...
  ;ImageList_Add_(imgList, ImageID(0), 0)
  ;ansonsten fehlt immer das erste Element der Liste in der Anzeige
  ForEach CONTENT()
    CreateThumbnail(ListIndex(CONTENT()), CONTENT()\FILE)
  Next
  For i = 1 To ListSize(CONTENT()) - 1
    AddGadgetItem(#LST_PREVIEW , -1, "", ImageID(i))
  Next
  oldIL = SendMessage_(GadgetID(#LST_PREVIEW), #LVM_GETIMAGELIST, #LVSIL_NORMAL, 0)
  SendMessage_(GadgetID(#LST_PREVIEW), #LVM_SETIMAGELIST, #LVSIL_NORMAL, imgList)
  ImageList_Destroy_(oldIL)
  SendMessage_(GadgetID(#LST_PREVIEW), #LVM_SETICONSPACING, 0, 155 * 65536 + 155)
EndProcedure

If OpenWindow(#WIN_INTERFACE, 0, 0, 950, 700, "",  #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  LoadFont(#FNT_ARIAL, "Arial", 8)
  ;GUI erstellen... 
  ListIconGadget    (#LST_PREVIEW , 299,  25, 646, 474, "", 200, #PB_ListIcon_MultiSelect)
  TextGadget        (#PB_Any      ,   5,   5, 100,  14, "Verzeichnis")
  ExplorerTreeGadget(#TRE_FILELIST,   5,  25, 289, 474, "", #PB_Explorer_AlwaysShowSelection|#PB_Explorer_NoFiles|#PB_Explorer_AutoSort)
  SetGadgetAttribute(#LST_PREVIEW , #PB_ListIcon_DisplayMode, #PB_ListIcon_LargeIcon)

  ;Events abfragen...
  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #TRE_FILELIST
            ;Bei einem Verzeichniswechsel, alle Daten einlesen... funktioniert nur beim ersten mal (WARUM?)
            If EventType() = #PB_EventType_LeftClick
              ReadDirectoryEntries(GetGadgetText(#TRE_FILELIST))
              If ListSize(CONTENT()) > 0
                RefillListicon()
              EndIf
            EndIf 
        EndSelect   
    EndSelect
  Until EventID = #PB_Event_CloseWindow
EndIf


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 19:22 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Bei mir wird jede Kleinigkeit sofort von RSBasic geändert/korrigiert (nicht immer zum besten) und dieser Thread ist seit Tagen im Unterforum "Ankündigungen".

Muss ich das verstehen?

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 20:32 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Micha122 hat geschrieben:
Bei mir wird jede Kleinigkeit sofort von RSBasic geändert/korrigiert (nicht immer zum besten)

Ich versuche immer, die Bearbeitungszeit (<5s) gering wie möglich zu halten.

Micha122 hat geschrieben:
dieser Thread ist seit Tagen im Unterforum "Ankündigungen".

Ich habe den Thread jetzt verschoben.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 22:35 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Zitat:
Thread verschoben
Ankündigungen>Offtopic
06.04.2018
RSBasic


Verschoben ist schon mal gut, aber die Wahl des Unterforums ist doch etwas fragwürdig.

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 22:37 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Ich war mir nicht sicher, ob Allgemein oder Offtopic. Da das keine spezielle Frage zur Programmierung mit PB ist, sondern nur über die Verfügbarkeit einer Library, habe ich deshalb in Offtopic verschoben. Dort können auch allgemeine PB-Fragen gestellt werden.
Oder hast du einen anderen Vorschlag?

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 22:55 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Wie wäre es mit: Projekte, Ressourcen, Tools

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 06.04.2018 22:58 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Ja, das klingt besser.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Was ist aus der "ThumbListGadget" Lib geworden...
BeitragVerfasst: 07.04.2018 09:03 
Offline
Benutzeravatar

Registriert: 29.08.2005 13:56
Wohnort: Köln
Sorry für die Arbeit...weiss auch nicht warum die Frage da gelandet ist.
Werde in Zukunft besser aufpassen!!!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye