IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Tkinter] Utiliser une font load grâce à PIL


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2017
    Messages : 23
    Par défaut [Tkinter] Utiliser une font load grâce à PIL
    Bonjour,

    Je n'arrive pas à trouver comment faire pour utiliser une font (pour tkinter) que l'on a préalablement load grâce à PIL ?
    J'ai fait ceci mais ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    from PIL import Image, ImageDraw, ImageFont
     
    font = ImageFont.truetype("lib/font/angrybirds-regular.ttf", 28, encoding="unic") #load l'image avec pil
     
    text = canvas.create_text(420,100,fill="black", font = (font, 35), text="TOUR DU JOUEUR 1")
    PS: il n'y a pas de message d'erreur

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut,

    Pillow est destiné à la manipulation d'images, et il n'installe pas de fichiers de polices, le 1er paramètre de font avec tkinter doit être une chaine de caractères représentant le nom de la police (ou une famille générique), là tu fournis un objet PIL.ImageFont.FreeTypeFont qui est totalement différent de tkinter.font.Font, lorsque tkinter ne trouve pas une police, il utilise celle définie par défaut (sans doute celle du système).

    Et il n'est malheureusement pas possible d'utiliser un fichier de polices autre que ceux installés dans le sytème utilisateur avec tkinter, j'avais vu une astuce sur SO, mais valable uniquement pour windows, donc pas compatible multi-systèmes.

    Si l'utilisation d'images au lieu de texte ne te gêne pas, alors tu peux faire une recherche sur internet pour voir comment faire ça avec PIL afin d'intégrer ça dans tes widgets, mais bon, ça va être fastidieux et lourd à faire.

    La meilleure solution est d'installer toi-même la police (avec le consentement de l'utilisateur), ou de demander à l'utilisateur de l'installer, attention quand même aux licences de ces polices.

Discussions similaires

  1. Comment utiliser une font special (skia)
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 20/03/2012, 09h43
  2. Utiliser une font sans l'installer.
    Par Masterglob dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 17/07/2008, 09h14
  3. [Tkinter] Insérer une image jpg sur un canvas avec PIL
    Par Kyojimbo dans le forum Tkinter
    Réponses: 2
    Dernier message: 23/02/2006, 16h46
  4. [Font] utiliser une même police sur Windows et sur Linux ?
    Par iubito dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 10/05/2005, 16h41
  5. Réponses: 8
    Dernier message: 28/01/2005, 08h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo