dabulTac 1,144 Posté(e) 3 août 2023 (modifié) **Dernière modif script jpg 04/08/2023 ** Des fois ça m'embête de faire enregistrer sous et de prendre la liste déroulante pour choisir jpeg et les options. Du coup pour ceux qui ont déjà activé les scripts krita (je l'ai fait il y a un moment mais de mémoire c'est dans "Gestionnaire module python" il faut cocher "scripter" tout en bas et sûrement "lanceur de script Krita" aussi) je vais proposer quelques scripts qui renregistrent en jpg ou en psd directement (si vous avez des idées d'autres scripts utiles à l'occasion). On copie colle le code Fichier -> enregistrer sous dans la pop up de script, vous vous créez un répertoire script et vous enregistrez en .py et ensuite comme pour le changement de brosse rapide dont j'ai parlé ici (ce n'est pas pour le plaisir de m'auto citer c'est juste le même principe 😉 ) un va utiliser les raccourcis 10 scripts ce coup ci. Avec les ... vous allez choisir votre fichier .py et voilà, quand je fais Ctrl + maj +1 ça m'ouvre la pop up d'enregistrement jpg direct. (enfin ça devrait mais en pratique pas tellement, je vais fouiller ça dès que je pourrai) en attendant ça fonctionne si je change le raccourci (Ctrl Alt A pour moi). Plus de détails et scripts dans les messages en dessous. (un peu par flemme j'ai demandé dse l'aide à chat gpt je vous l'avoue) Modifié 4 août 2023 par dabulTac Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
dabulTac 1,144 Posté(e) 3 août 2023 (modifié) Alors du coup "enregistrer sous en jpg" . Edit 04/08/2023 on saisi soi même les paramètres optionnels du jpg Note : quand je lance le script via le menu ça le fait 2 fois de suite mais c'est ok avec le raccourci from krita import * import os from PyQt5.QtWidgets import QFileDialog def save_as_jpg(image, save_path): success = image.saveAs(save_path) return success def get_incremented_file_name(file_path): folder, name = os.path.split(file_path) name, ext = os.path.splitext(name) index = 1 while os.path.exists(file_path): file_path = os.path.join(folder, f"{name}_{index}{ext}") index += 1 return file_path def main(): # Assurez-vous que Krita est ouvert et qu'une image est active if not Krita.instance(): print("Veuillez ouvrir Krita pour exécuter ce script.") return image = Krita.instance().activeDocument() if not image: print("Veuillez ouvrir une image dans Krita.") return # Obtenir le chemin du fichier de l'image active, ou une chaîne vide si le chemin n'est pas valide image_file_path = image.fileName() if image and image.fileName() else "" # Obtenez le nom du fichier sans le chemin et l'extension pour pré-remplir la boîte de dialogue _, image_file_name = os.path.split(image_file_path) name_without_extension, _ = os.path.splitext(image_file_name) # Ouvrir une fenêtre de dialogue pour spécifier le chemin et le nom du fichier save_path, _ = QFileDialog.getSaveFileName(None, "Enregistrer sous", os.path.join(os.path.dirname(image_file_path), name_without_extension), "Images (*.jpg)") if not save_path: print("L'enregistrement a été annulé.") return success = save_as_jpg(image, save_path) if success: print(f"L'image a été enregistrée au format JPG sous : {save_path}") else: print("Une erreur s'est produite lors de l'enregistrement de l'image.") if __name__ == "__main__": main() Modifié 4 août 2023 par dabulTac 1 Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
dabulTac 1,144 Posté(e) 3 août 2023 Je pense faire .psd bientôt (parce que personnellemnt je passe souvent de krita à procreate donc j'exporte). Si vous avez d'autres idées elles sont les bienvenues. Je trouve ça rigolo Par contre je ne suis pas sûre d'être très douée pour expliquer si vous avez des problemes particuliers , on verra bien. De base j'ai fait celui ci pour moi parce qu'en bonne informaticien tout ce qui automatisable est automatisé (ça veut dire que certains dev, dont moi, sont de grosses flemasses ok 😆) et du coup je trouverais ça idiot de le garder dans mon coin. Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
dabulTac 1,144 Posté(e) 4 août 2023 Enregistrer en psd import os from krita import * from PyQt5.QtWidgets import QFileDialog def obtenir_nom_fichier(default_name): options = QFileDialog.Options() file_name, _ = QFileDialog.getSaveFileName(None, "Enregistrer en PSD", default_name, "Fichiers Photoshop (*.psd);;Tous les fichiers (*)", options=options) return file_name def enregistrer_en_psd(document, chemin_fichier): if document is not None and document.isWritable(): psd_options = Krita.PSDSaveOptions() document.saveAs(chemin_fichier, psd_options) print(f"Document enregistré en PSD : {chemin_fichier}") else: print("Erreur : Document non modifiable ou non ouvert.") # Obtenir le document actif document = Krita.instance().activeDocument() # Vérifier si le document a déjà été enregistré repertoire_par_defaut = None nom_fichier_par_defaut = "sans_titre.psd" if document is not None: if document.fileName(): repertoire_par_defaut = os.path.dirname(document.fileName()) nom_fichier_par_defaut = os.path.splitext(os.path.basename(document.fileName()))[0] # Obtenir le nom de fichier de l'utilisateur nom_fichier = obtenir_nom_fichier(os.path.join(repertoire_par_defaut, nom_fichier_par_defaut)) # Vérifier si l'utilisateur a annulé la boîte de dialogue if nom_fichier: enregistrer_en_psd(document, nom_fichier) Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
dabulTac 1,144 Posté(e) 4 août 2023 News pour le Ctrl Maj 1 : les raccourcis avec maj + un chiffre fonctionnent parfois mal , du coup j'ai mis alt + maj + j pour enregistrer en jpg et alt +maj+p pour enregistrer en psd (il étaient déjà utilisé pour passer en mode luminosité lineaire ou dure mais je ne les utilise pas). Ca se change ici (il faut changer ici ET avoir choisi le fichier dans 10 scripts bien sûr) 1 Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
dabulTac 1,144 Posté(e) 4 août 2023 et voilà pour le .kra (que j'ai mis sur mak+alt+k pour rester logique (c'était "sélectionner le mode de mélange assombrir") import os from krita import * from PyQt5.QtWidgets import QFileDialog def obtenir_nom_fichier(default_name): options = QFileDialog.Options() file_name, _ = QFileDialog.getSaveFileName(None, "Enregistrer en .kra", default_name, "Fichiers Krita (*.kra);;Tous les fichiers (*)", options=options) return file_name def enregistrer_en_kra(document, chemin_fichier): if document is not None and document.isWritable(): document.saveAs(chemin_fichier) print(f"Document enregistré en .kra : {chemin_fichier}") else: print("Erreur : Document non modifiable ou non ouvert.") # Obtenir le document actif document = Krita.instance().activeDocument() # Vérifier si le document a déjà été enregistré repertoire_par_defaut = None nom_fichier_par_defaut = "sans_titre.kra" if document is not None: if document.fileName(): repertoire_par_defaut = os.path.dirname(document.fileName()) nom_fichier_par_defaut = os.path.splitext(os.path.basename(document.fileName()))[0] # Obtenir le nom de fichier de l'utilisateur nom_fichier = obtenir_nom_fichier(os.path.join(repertoire_par_defaut, nom_fichier_par_defaut)) # Vérifier si l'utilisateur a annulé la boîte de dialogue if nom_fichier: enregistrer_en_kra(document, nom_fichier) Citer Krita et XP-pen Artist 16 2nd gen Partager ce message Lien à poster Partager sur d’autres sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.