Texte de l'image et publication sur slack (python slackbot)

C'est un script qui image et affiche les personnages de hubot que j'ai écrit la dernière fois (même si c'était il y a longtemps), Récemment, il existe de nombreuses opportunités pour toucher Python, Je pense que python slackbot est facile à utiliser, alors je l'ai réécrit avec python

Avec python, au lieu de ne pas avoir à inclure ImageMagic, vous devez inclure Pillow avec pip

Python utilise 3 ou une version ultérieure, Selon l'environnement, la commande suivante peut être pip3 au lieu de pip

Installer l'oreiller

pip install Pillow

Un script qui visualise les personnages et les affiche pour se détendre

# -*- coding: utf-8 -*
from slackbot.bot import respond_to
from slackbot.bot import listen_to
from slackbot.bot import default_reply

from PIL import Image, ImageDraw, ImageFont
import random

@respond_to('str_img\s+(.*)')
def mention_func1(message, arg1):

    spcolor = [
      'magenta',
      'orange',
      'LimeGreen',
      'blue',
      'purple',
      'OrangeRed',
      'SkyBlue',
      'LightBlue',
      'Turquoise',
      'gold'
    ]

    im = Image.new("RGB",(50,50),"white")
    fnt = ImageFont.truetype('/slackbot/plugins/cp_font.ttf', 50)
    draw = ImageDraw.Draw(im)
    text_size = draw.textsize(arg1, fnt)
    im = im.resize(text_size)
    draw = ImageDraw.Draw(im)
    draw.text((0,0), arg1, fill=random.choice(spcolor), font=fnt)
    im.save("/tmp/str_img.png ")
    message.channel.upload_file(fname="/tmp/str_img.png ", fpath="/tmp/str_img.png ")

Je ne comprends pas bien

--ImageDraw.Draw deux fois pour ajouter des caractères et créer une image pour la largeur des caractères --Je ne suis pas familier avec python (en particulier avec les images), donc s'il y a une autre bonne façon de l'écrire, je vais le réparer.

Autre

―― J'ai eu la possibilité de changer la taille de l'image la dernière fois, Je l'ai omis cette fois car il sera de la même taille quand il sera affiché sur slack

Recommended Posts

Texte de l'image et publication sur slack (python slackbot)
Publier de Python vers Slack
publier sur vim → Python → Slack
Publiez sur Slack avec Python 3
Publier sur Slack en Python
POSTER des messages de python vers Slack via un webhook entrant
Publier sur Slack via un abonné
Publier sur Twitter en utilisant Python
Essayez d'utiliser le Python On-box de Junos #Bonus 1 Quelque chose comme ChatOps / Commit et publiez sur Slack
[Jouons avec Python] Traitement d'image en monochrome et points
[Introduction à Python3 Jour 1] Programmation et Python
Publication de Python sur la chronologie Facebook
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Workflow pour convertir une formule (image) en python
Publier une image de Python sur Tumblr
Journalisation Python et vidage vers json
Sélénium et python pour ouvrir Google
Publiez facilement sur Twitter avec Python 3
[Nanonets] Comment publier un mémo [Python]
Introduction à l'analyse d'image opencv python
Publier un message d'IBM Cloud Functions sur Slack en Python
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
Comment empaqueter et distribuer des scripts Python
De Python à l'utilisation de MeCab (et CaboCha)
mail html avec image à envoyer avec python
Comment installer et utiliser pandas_datareader [Python]
Sortir les caractères de couleur en joli avec python
Lier des méthodes aux classes et instances Python
Introduction au remplissage d'image Python Remplissage d'image à l'aide d'ImageDataGenerator
POSTER diversement avec Python et recevoir avec Flask
Fractal pour faire et jouer avec Python
[Python] Créez un linebot pour écrire le nom et l'âge sur l'image
Connectez-vous à Slack à l'aide de requêtes en Python
Portage et modification du solveur de doublets de python2 vers python3.
Lire Python csv et exporter vers txt
python: Comment utiliser les locals () et globals ()
POSTER des photos avec l'API Microsoft Bing Image Search pour obtenir des informations sur les images (Python)
Comment régler le contraste de l'image en Python
Construisez un serveur de messagerie Postfix, démarrez le code Python déclenché par la réception du courrier et envoyez le courrier à Slack (édition de l'environnement local)
[Python] Comment calculer MAE et RMSE
Comment utiliser le zip Python et énumérer
Compressez les données python et écrivez sur sqlite
[python] Envoyez l'image capturée de la caméra Web au serveur et enregistrez-la
Comment utiliser is et == en Python
Exemple de conversion en ondelettes d'images en Python
Envoyer un message de Slack à un serveur Python
Grattage de la nourriture avec python et sortie en CSV
MessagePack-Try pour lier Java et Python avec RPC
Convertir un PDF en image (JPEG / PNG) avec Python
Comment générer une séquence en Python et C ++
[Vim] [Python] Des bugs autour des caractères jedi-vim et multi-octets?
Générer et publier des données d'image factice avec Django
Réduction de l'échelle de gris 8 bits des images et du contraste de l'image
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment recadrer une image avec Python + OpenCV