• Streifenbilder erzeugen mit Python

    Streifenbilder erzeugen mit Python

    Die Idee von diesem Programm ist, bestehende Bilder in Streifen zu zerschneiden und dann wieder zufällig zusammenzusetzen.

    Original

    Nach der Bearbeitung

    Hier können noch mehr Beispiele gefunden werden

    Um dies zu erreichen, öffnet das Programm zunächst das Bild und berechnet dann die Breite und Höhe des Bildes.

    Anschliessend wird das Bild in die vorgegebene Anzahl an Streifen zerschnitten, entweder in horizontaler oder vertikaler Richtung.

    Danach werden die Streifen in zufälliger Reihenfolge wieder zusammengesetzt und ein neues Bild erstellt.

    Das Programm erzeugt dann einen eindeutigen Dateinamen und speichert das neue Bild.

    Python
    import PIL import Image
    import random
    import uuid
    
    def horizontal_strips (img, width, height, num_strips):
    
        # Calculate the strip height
        strip_height = int(height/num_strips)
    
        strips = []
        for i in range(num_strips):
            # Get the current strip
            box = (0, i*strip_height, width, (i+1)*strip_height)
            strip = img.crop(box)
            strips.append(strip)
    
        return strip_height, strips
    
    
    def vertical_strips (img, width, height, num_strips):
    
        # Calculate the strip width
        strip_width = int(width/num_strips)
    
        strips = []
        for i in range(num_strips):
            # Get the current strip
            box = (i*strip_width, 0, (i+1)*strip_width, height)
            strip = img.crop(box)
            strips.append(strip)
    
        return strip_width, strips
    
    def main(inFile, num_strips, direction):
        try:
            # Open the image
            img = Image.open(inFile)    
        except:
            print("Something went wrong when opening the file: ", inFile) 
    
        # Get the height and width of the image
        width, height = img.size
    
        if (direction == "h"):
            strip_dim, strips = horizontal_strips (img, width, height, num_strips)
        else:
            strip_dim, strips = vertical_strips (img, width, height, num_strips)
    
        # Shuffle the strips
        random.shuffle(strips)
    
        # Reassemble the image
        reassembled_img = Image.new('RGB', (width, height))
    
        # for i in range num_strips:
        offset = 0
        for strip in strips:
            if (direction == "h"):
                reassembled_img.paste(strip, (0, offset))
            else:
                reassembled_img.paste(strip, (offset, 0))
    
            offset += strip_dim
    
        # make Filename
        id = str(uuid.uuid4())
        # Save the reassembled image
        reassembled_img.save(f'reassembled_image-{id}.jpg')
    
    if __name__ == "__main__":
        # ------- Init -------
        inFile = "berg.jpg" # Filename of input File 
        num_strips = 12     # Define the number of strips
        direction = "v"     # corp direction h = horizontal or v = vertical
    
        main(inFile, num_strips, direction)

  • Eindeutiger Filename in Python

    Eindeutiger Filename in Python

    Falls Sie kurze eindeutige IDs als Dateinamen oder für andere Fälle benötigen, versuchen Sie shortuuid. shortuuid verwendet Klein- und Grossbuchstaben und Ziffern und entfernt ähnlich aussehende Zeichen wie
    l, 1, I, O und 0.

    Das Paket shortuuid muss über den Paketmanager nachinstalliert werden.

    pip install shortuuid

    Danach kann das Paket verwendet werden.

    >>> import shortuuid
    >>> shortuuid.uuid()
    'Tw8VgM47kSS5iX2m8NExNa'
    >>> len(ui)
    22
    

    Wenn man shortuuid nicht installieren will, kann man auch das Modul uuid verwenden, welches viel längere Strings erzeugt.

    Das Modul uuid ist Bestandteil der Python Distribution.

    >>> import uuid
    >>> unique_filename = str(uuid.uuid4())
    >>> len(unique_filename)
    36
    >>> unique_filename
    '2d303ad1-79a1-4c1a-81f3-beea761b5fdf'
    
  • Media Library Assistant – Prameter für mla_gallery

    Media Library Assistant – Prameter für mla_gallery

    Die mla_gallery-Funktion ist ein Shortcode, der von dem «Media Library Assistant»-Plugin für WordPress bereitgestellt wird. Mit diesem Shortcode können Sie Bilder und andere Medien aus der Media Library in WordPress auf einer Seite oder in einem Beitrag anzeigen.

    Die mla_gallery-Funktion akzeptiert eine Vielzahl von Parametern, mit denen Sie das Verhalten und das Aussehen der angezeigten Medien anpassen können. Hier sind einige der verfügbaren Parameter:

    • ids: Eine durch Kommas getrennte Liste von Medien-IDs, die angezeigt werden sollen.
    • include: Eine durch Kommas getrennte Liste von Attachment-Slugs oder -IDs, die zur Galerie hinzugefügt werden sollen.
    • exclude: Eine durch Kommas getrennte Liste von Attachment-Slugs oder -IDs, die von der Galerie ausgeschlossen werden sollen.
    • columns: Die Anzahl der Spalten, in denen die Medien angezeigt werden sollen.
    • size: Die Größe der angezeigten Miniaturansichten.
    • link: Legt fest, ob die Miniaturansichten verlinkt werden sollen. Mögliche Werte sind «file», «none» und «post».
    • orderby: Die Sortierreihenfolge der Medien. Mögliche Werte sind «ID», «author», «title» und viele mehr.
    • order: Die Sortierrichtung der Medien. Mögliche Werte sind «ASC» (aufsteigend) und «DESC» (absteigend).

    Dies sind nur einige der verfügbaren Parameter. Weitere Informationen und eine vollständige Liste der Parameter finden Sie in der Dokumentation des «Media Library Assistant»-Plugins oder indem Sie den folgenden Shortcode verwenden: .

    Ich hoffe, dies hilft Ihnen bei der Verwendung der mla_gallery-Funktion und beim Anpassen der angezeigten Medien.

    Hier finde sie noch mehr Informationen: https://de.wordpress.org/plugins/media-library-assistant/

  • Anpassen Media Libary Assistant – mal_gallery mit CSS

    Anpassen Media Libary Assistant – mal_gallery mit CSS

    Es ist möglich, das Aussehen der Galerie, die mit dem «Media Library Assistant»-Shortcode mla_gallery erstellt wurde, mit CSS anzupassen. Dazu können Sie die CSS-Klassen und -IDs verwenden, die von dem Plugin generiert werden.

    Um das Aussehen der Galerie anzupassen, können Sie zunächst ein Child-Theme erstellen oder ein bestehendes CSS-Stylesheet bearbeiten. Anschliessend können Sie CSS-Regeln definieren, die sich auf die Klassen und IDs beziehen, die von dem Plugin generiert werden.

    Hier sind einige Beispiele für CSS-Regeln, die das Aussehen der Galerie anpassen können:

    • .mla-gallery-view: Diese Klasse bezieht sich auf das Gesamtelement der Galerie. Sie können diese Klasse verwenden, um das Layout, die Farben und andere allgemeine Stileigenschaften der Galerie anzupassen.
    • .mla-item-view: Diese Klasse bezieht sich auf jedes Element innerhalb der Galerie, das ein einzelnes Medium anzeigt. Sie können diese Klasse verwenden, um das Aussehen der Miniaturansichten, der Titel und anderer Elemente innerhalb der Galerie anzupassen.
    • .mla-caption-view: Diese Klasse bezieht sich auf das Element, das den Titel und die Beschreibung eines Mediums anzeigt. Sie können diese Klasse verwenden, um das Aussehen der Titel und Beschreibungen innerhalb der Galerie anzupassen.

    Bitte beachten Sie, dass diese Beispiele nur als Orientierung dienen und dass die tatsächlichen Klassen und IDs, die von dem Plugin generiert werden, von der verwendeten Version und den Einstellungen des Plugins abhängen können. Ich empfehle Ihnen daher, die Dokumentation des Plugins zu lesen oder die HTML-Struktur der Galerie zu untersuchen, um die genauen Klassen und IDs zu finden, die Sie verwenden möchten.

    Ich hoffe, dies hilft Ihnen beim Anpassen des Aussehens der Galerie mit CSS.

    Hier finden sie noch mehr Informationen: https://de.wordpress.org/plugins/media-library-assistant/

  • Massenumbenennung mit dem Nemo-Dateimanager in Linux Mint 20 oder höher

    Massenumbenennung mit dem Nemo-Dateimanager in Linux Mint 20 oder höher

    Seit der Version Linux Mint 20.2 «Uma» können im Dateimanager Nemo mit der Extension Bulky mehrere Dateien im Desktops direkt umbenennen werden.

    Nun ist das Umbenennen von Dateien in Linux keine Aufgabe, bei der es an Optionen mangelt. Es gibt eine Reihe von Anwendungen für diese Aufgabe, die von kommandozeilenbasierten Batch-Umbenennungsprogrammen bis hin zu benutzerfreundlichen GUI-Anwendungen reichen.

    Das auf Python basierende Bulky von Linux Mint scheint irgendwo zwischen diesen beiden Optionen zu liegen, da es relativ leistungsfähige Umbenennungsregeln bietet, die jedoch in einer einfachen Benutzeroberfläche dargestellt werden

    Leider ist die Dokumentation noch sehr rudimentär, besser gesagt noch nicht vorhanden. Deshalb hier mal eine erste Übersicht, was man damit machen kann.

    Bulky bei Github: https://github.com/linuxmint/bulky

    Dieser Beitrag ist initiiert von diesem Post: https://itsfoss.community/t/bulk-rename-with-nemo/9716

    Dateien umbenennen

    • Alle umzubenennenden Dateien im Dateimanager auswählen und mit der rechten Maustaste auf Umbenennen klicken.
    • Wählen Sie die Fenster Ersetzen und Nur Namen
    • Geben Sie im Feld, Finden einen Stern (*) ein und ignorieren Sie die rote Warnmeldung.
    • Im Feld Ersetzen neuer-name_%n ein (nach Eingabe von %n verschwindet die Warnmeldung).
    • Mit diesen Einstellungen bleibt die Dateiextension gleich.
    • Klicken Sie auf Umbenennen, um den Vorgang abzuschliessen.

    Sie können auch %n, %0n, %00n oder %000n eingeben, wenn sie führende Nullen bevorzugen.

    Teile des alten Namens ersetzten oder ergänzen

    Um den alten Namen beizubehalten und nur einen Teil der Dateinamen hinzuzufügen oder zu ersetzen, verwenden Sie die Option Einfügen.

    Um die Erweiterung oder Ersetzung am Ende des alten Namens anfügen, klicken Sie auf das Feld Vom Ende. Sie können auch die Autonummerierung verwenden.

    Einfügen von neuen Elemente in den alten Namen

    Um neue Elemente innerhalb des alten Namens erscheinen zu lassen, klicken Sie auf das +Zeichen im Fenster An Position, um den neuen Namenszusatz zu verschieben.

    Teile ersetzen

    Um Teile des alten Namens durch den neuen zu ersetzen, klicken Sie auf das Feld Überschreiben, die gleiche Anzahl Zeichen, die der neue Name hat, wird im alten Namen ersetzt. Wenn Sie den neuen Namen vom alten trennen wollen, drücken Sie mehrmals die Leertaste. (Hinweis: Wenn Sie die Leertaste drücken, werden zusätzliche Zeichen aus dem alten Namen gelöscht)

    HINWEIS: Wenn die rote Warnmeldung irgendwann während dieses Vorgangs erscheint, bedeutet dies lediglich, dass Sie Ihre neuen Namen nicht nummeriert (mit «_%n» versehen) haben.**

    Tip

    Die Einstellungen für den Bach-Renamer unter Nemo finden sie «Bearbeiten» -> «Einstellungen» -> «Verhalten» dann ganz nach unten scrollen. Hier können auch andere Batch-Renamer eingebunden werden.