À propos de psd-tools, une bibliothèque capable de traiter des fichiers psd en Python

Bibliothèque psd-tools pouvant traiter les fichiers PSD en Python

▼ Document officiel https://psd-tools.readthedocs.io/en/latest/

Image de test

Cette fois, j'utiliserai cette image comme exemple. 3070374.jpg Designed by Freepik

▼ Télécharger la destination https://www.freepik.com/free-psd/restaurant-gift-voucher-template_5903685.htm#page=3&position=11

▼ Informations sur les calques vues sur Photoshop image.png

Comment utiliser les outils psd

Installation

pip install psd-tools numpy scipy

Comment utiliser


from psd_tools import PSDImage
if __name__ == '__main__':
    file_path = '/Users/[uesr_name]/Downloads/restaurant-gift-voucher-template/3074963.psd'
    psd = PSDImage.open(file_path)
    psd.compose().save('example.png')

    for layer in psd:
        print(layer)

▼ Sortie

▼example.png example.png


Group('Background' size=1772x886)
Group('Design' size=1426x570)
Group('Images' size=1226x1196)
Group('Text' size=1627x443)
Group('Logo' size=386x107)

Si vous souhaitez accéder à toutes les couches

Accès à toutes les couches, y compris les dossiers, à l'aide de la méthode descendants ()

for layer in list(psd.descendants()):
    print(layer)
Group('Background' size=1772x886)
SolidColorFill('Background' size=1772x886 mask effects)
Group('Design' size=1426x570)
SmartObjectLayer('Brush Stroke' size=1426x413 effects)
ShapeLayer('Rectangle' size=460x80 effects)
Group('Images' size=1226x1196)
SmartObjectLayer('Waffel' size=675x954 effects)
SmartObjectLayer('Food' size=23x27 effects)
SmartObjectLayer('Food' size=23x27 effects)
SmartObjectLayer('Food' size=27x27 effects)
SmartObjectLayer('Tomato Sauce' size=211x208 effects)
SmartObjectLayer('Tomato' size=237x239 effects)
SmartObjectLayer('Orange' size=276x272 effects)
Group('Text' size=1627x443)
TypeLayer('Title' size=506x122)
TypeLayer('20% OFF' size=441x96)
TypeLayer('Voucher ID #56893' size=379x30)
TypeLayer('Web' size=728x27)
TypeLayer('Address')
Group('Logo' size=386x107)
SmartObjectLayer('Place Your Logo Here (Double Click to Edit)' size=386x107)

Convertir tous les calques en PIL.Image et enregistrer sous le nom du calque


    for layer in list(psd.descendants()):
        print("layer_name: ", layer.name)
        print("is_group(): ", layer.is_group())

        if not layer.is_group():
            pil_img = layer.topil()
            pil_img.save(layer.name + ".png ")

▼ Résultat Waffel.png Orange.png Brush Stroke.png Tomato.png Tomato Sauce.png Title.png Background.png 20% OFF.png Web.png Voucher ID #56893.png Food.png

Recommended Posts

À propos de psd-tools, une bibliothèque capable de traiter des fichiers psd en Python
Essayez d'utiliser APSW, une bibliothèque Python que SQLite peut prendre au sérieux
J'ai enregistré PyQCheck, une bibliothèque qui peut effectuer QuickCheck avec Python, dans PyPI.
Publication d'une bibliothèque qui masque les données de caractères dans les images Python
À partir d'un livre que les programmeurs peuvent apprendre ... (Python): À propos du tri
Un ensemble de fichiers de script qui font wordcloud avec Python3
Une note sur mock (bibliothèque fictive Python)
Utilisez networkx, une bibliothèque qui gère les graphiques en python (Partie 2: Tutoriel)
Création d'une bibliothèque pour python capable de gérer facilement la division morphologique
Une histoire sur une erreur de construction dans une bibliothèque partagée qui fait référence à libusb
Présentation d'une bibliothèque qui n'était pas incluse dans pip sur Python / Windows
Lecture de code de faker, une bibliothèque qui génère des données de test en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Un mémo que j'ai écrit un tri rapide en Python
Un programme qui supprime les instructions en double en Python
Un mémo que j'ai écrit un tri de fusion en Python
Analyse de données en Python: une note sur line_profiler
Pensez à créer un environnement Python 3 dans un environnement Mac
Un mémorandum sur la bibliothèque de wrapper Python tesseract
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Comment installer la bibliothèque Python qui peut être utilisée par les sociétés pharmaceutiques
Lecture de code de m3u8, une bibliothèque de manipulation de fichiers m3u8 au format vidéo HLS avec Python
[Python] Création d'un outil qui peut lister, sélectionner et exécuter des fichiers python avec tkinter et à propos de la partie qui a été interceptée
Une note sur l'implémentation de la bibliothèque qui explore les hyperparamètres à l'aide de l'optimisation bayésienne en Python
Démoniser un processus Python
D'un livre que les programmeurs peuvent apprendre ... (Python): Pointer
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Création d'une bibliothèque Python DateTimeRange qui gère les plages horaires
En Python, créez un décorateur qui accepte dynamiquement les arguments Créer un décorateur
Peut être utilisé chez les pros de la compétition! Bibliothèque standard Python
[Python] Une bibliothèque pratique qui convertit les kanji en hiragana
À propos de __all__ en python
Un mémorandum sur la mise en œuvre des recommandations en Python
Un mécanisme pour appeler des méthodes Ruby à partir de Python qui peut être fait en 200 lignes
Publier / télécharger une bibliothèque créée en Python vers PyPI
MALSS (introduction), un outil qui prend en charge l'apprentissage automatique en Python
Bibliothèque basée sur Qt "Poppler" qui vous permet de lire rapidement des PDF sous forme d'images en C ++ ou Python
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Programme Python du "Livre qui enseigne facilement la programmation difficile"
Une fonction qui divise l'itérable en N morceaux en Python
Boucle sur un générateur qui renvoie un itérateur de date en Python
Une histoire sur la façon de spécifier un chemin relatif en python.
Créons un script qui s'enregistre avec Ideone.com en Python.
À partir d'un livre que les programmeurs peuvent apprendre (Python): Décoder les messages
Développer une bibliothèque pour obtenir la liste des collections Kindle en Python
J'ai essayé "un programme qui supprime les déclarations en double en Python"
Traitez les fichiers du dossier dans l'ordre avec le script shell
Créez le code qui renvoie "A et prétendant B" en python
[MQTT / Python] Implémentation d'une classe qui fait Pub / Sub de MQTT en Python
Essayez de créer un réseau de neurones en Python sans utiliser de bibliothèque
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
Une histoire sur la tentative d'implémentation de variables privées en Python.
À propos de netaddr qui gère l'adresse IP, le CIDR, etc. en Python
Créer une fonction en Python
Créer un dictionnaire en Python
Remplacer les fonctions de bibliothèque en Python
Mémorandum sur la corrélation [Python]
Créer un bookmarklet en Python
Un mémorandum sur le simulacre de Python
Dessinez un cœur en Python