[PYTHON] Scrollen Sie mit Japanisch zur LED von RaspberryPi Sense HAT

Ich konnte mit der offiziellen API von SenseHAT kein Japanisch scrollen, also habe ich versucht, mit PIL von Python und Misaki damit umzugehen. Dies ist ein Bild, bei dem der Text zu einem einzigen Bild verarbeitet und in der Reihenfolge vom Rand bis zu einem 8 * 8-Bild ausgeschnitten wird.

python


# -*- encoding:utf8 -*-
import unicodedata
import time
import sys
from PIL import Image, ImageDraw, ImageFont
from sense_hat import SenseHat

#Ermittelt die Gesamtzahl der Bytes in einer Zeichenfolge
def count_byte(s):
    n = 0
    for c in s:
        wide_chars = u"WFA"
        eaw = unicodedata.east_asian_width(c)
        if wide_chars.find(eaw) > -1:
            n += 2
        else:
            n += 1
    return n

#Bildlaufanzeige auf Sense HAT
def show_scroll_string(
        disp_str, fore_color = "#ffffff", back_color = "#000000", interval = 0.1):
    '''
        disp_str   =Zeichenfolge angezeigt werden
        fore_color =Textfarbe (optional)
        back_color =Hintergrundfarbe (optional)
        interval   =Bildlauf-Anzeigeintervall (optional)
    '''
    matrix_size = 8
    img_width = (count_byte(disp_str) * 4) + (matrix_size * 2)

    sense = SenseHat()
    font = ImageFont.truetype("/misaki_gothic.ttf", #Geben Sie den Schriftpfad an
                              8, encoding="unic")
    img_moto = Image.new("RGB", (img_width, matrix_size), back_color)
    draw = ImageDraw.Draw(img_moto)
    draw.text((matrix_size, 1), disp_str, font = font, fill = fore_color)
    img_moto.save("./img.png ", "PNG")

    for num in range(0, img_width - matrix_size):
        img = img_moto.crop((num, 0, matrix_size + num, matrix_size))
        img.save("./img_.png ", "PNG")
        sense.load_image("./img_.png ")
        time.sleep(interval)
    sense.clear()

# main
show_scroll_string(u"Zeichenkette Zeichenkette Zeichenkette.", fore_color="#ffff00", interval = 0.07)

Wenn Sie den Pfad der Schriftart angeben und die Ausgabezeichenfolge in das Argument show_scroll_string einfügen und aufrufen, sollte ein Bildlauf durchgeführt werden. 写真 2016-11-24 20 49 54.gif

Wenn Sie es so ausführen und verwenden möchten, wie es ist, tun Sie dies bitte auf eigenes Risiko.
Referenzierte Websites usw.

Recommended Posts

Scrollen Sie mit Japanisch zur LED von RaspberryPi Sense HAT
Japanische Übersetzung des e2fsprogs-Handbuchs
Einfache Installation von OpenCV auf RaspberryPi 3+
Japanische Übersetzung des man-db Handbuchs
Japanische Übersetzung des Util-Linux-Handbuchs
Japanische Übersetzung des iproute2-Handbuchs
Untersuchen Sie die Auswirkung von Ausreißern auf die Korrelation
Veröffentlichen Sie das Thema Google Mail auf Twitter
Zeigen Sie das Diagramm von tensorBoard auf jupyter an
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
[Python] Japanische Lokalisierung von matplotlib unter Ubuntu
Der hintere Schrägstrich der japanischen Tastatur ist "ro".
Japanische Übersetzung: PEP 20 - Das Zen von Python
Das Verhalten von signal () hängt von der Kompilierungsoption ab
[2020Juli] Überprüfen Sie die UDID des iPad unter Linux
Zum Zeitpunkt des Python-Updates mit Ubuntu
Ändern Sie die Auflösung von Ubuntu, das auf VirtualBox ausgeführt wird
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
[AWS S3] Bestätigung des Vorhandenseins von Ordnern in S3