Erstellen eines Hintergrundbilds mit Tupfen mit der Python-Bildbibliothek

Es ist in Ordnung. Erstellen Sie mit Python und PIL (Python Image Library) ein Hintergrundbild mit Tupfen. Sie müssen PIL und Python im Voraus installieren. Informationen zur Installation finden Sie unten.

Wie benutzt man

Nimmt zwei Argumente. Das Format der beiden Argumente ist das gleiche. Dies ist die Farbspezifikation des HLS-Formats, die durch Folgendes getrennt ist :. Beachten Sie, dass die von CSS3 unterstützte hsl-Notation und die Reihenfolge der Argumente unterschiedlich sind. 360:100:100 Die Zahl vor der ersten: ist Farbton (Farbton). Es nimmt einen Wert von 0 bis 360 an. Die nächste Zahl ist Luminanz. Es nimmt einen Wert von 0 bis 100 an. Die letzte Zahl ist Sättigung. Es nimmt einen Wert von 0 bis 100 an. Durch Angabe von zwei dieser Werte können Sie die Farbe des Tupfenkreises angeben. wallpaper.py 84:84:84 164:98:84

Da die Anti-Aliasing-Verarbeitung nur angewendet werden kann, wenn das Bild in der Python-Bildbibliothek verkleinert wird, ist die Bildgröße auf 100 * 100 festgelegt und wird in Ihrem Bildbetrachter angezeigt. Zeigen Sie es mit IrfanView usw. an, verkleinern Sie es und speichern Sie es im Format Ihrer Wahl (ich habe dies getan, weil IrfanView über immer leistungsfähigere Bildreduktionsalgorithmen verfügt).

Quellcode

Darüber hinaus befindet sich der Code zum Konvertieren in das Farbcodeformat, das von RGB nach PIL verwendet werden kann, auf der folgenden Site.

wallpaper.py


# -*- coding: utf-8 -*-
from PIL import Image
from PIL import ImageDraw
import colorsys
import sys

### http://code.activestate.com/recipes/266466-html-colors-tofrom-rgb-tuples/history/2/
def RGBToHTMLColor(rgb_tuple):
    """ convert an (R, G, B) tuple to #RRGGBB """
    hexcolor = '#%02x%02x%02x' % rgb_tuple
    # that's it! '%02x' means zero-padded, 2-digit hex values
    return hexcolor

def HTMLColorToRGB(colorstring):
    """ convert #RRGGBB to an (R, G, B) tuple """
    colorstring = colorstring.strip()
    if colorstring[0] == '#': colorstring = colorstring[1:]
    if len(colorstring) != 6:
        raise(ValueError, "input #%s is not in #RRGGBB format" % colorstring)
    r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:]
    r, g, b = [int(n, 16) for n in (r, g, b)]
    return (r, g, b)

def HTMLColorToPILColor(colorstring):
    """ converts #RRGGBB to PIL-compatible integers"""
    colorstring = colorstring.strip()
    while colorstring[0] == '#': colorstring = colorstring[1:]
    # get bytes in reverse order to deal with PIL quirk
    colorstring = colorstring[-2:] + colorstring[2:4] + colorstring[:2]
    # finally, make it numeric
    color = int(colorstring, 16)
    return color

def PILColorToRGB(pil_color):
    """ convert a PIL-compatible integer into an (r, g, b) tuple """
    hexstr = '%06x' % pil_color
    # reverse byte order
    r, g, b = hexstr[4:], hexstr[2:4], hexstr[:2]
    r, g, b = [int(n, 16) for n in (r, g, b)]
    return (r, g, b)

def PILColorToHTMLColor(pil_integer):
    return RGBToHTMLColor(PILColorToRGB(pil_integer))

def RGBToPILColor(rgb_tuple):
    return HTMLColorToPILColor(RGBToHTMLColor(rgb_tuple))
  
args = sys.argv

if(len(args) != 3):
  print("Args Error");
  print("Usage %s [BaseHLS] [SubHLS]" % args[0])
  quit()

colors = []
#Argumentanalyse
for arg in args[1:]:
  a = arg.split(":")
  rgb1 = colorsys.hls_to_rgb(int(a[0]) / 360, int(a[1]) / 100, int(a[2]) / 100)
  color = RGBToPILColor((rgb1[0] * 255, rgb1[1] * 255, rgb1[2] * 255))
  print("added color:", color)
  colors += [color]

img = Image.new("RGB", (100, 100), "white")
hw = img.size[0] / 2
hh = img.size[1] / 2
draw = ImageDraw.Draw(img)
for i, c in zip(range(4), colors + colors[::-1]):
  im = divmod(i, 2) 
  r = im[0] * hw
  l = im[1] * hh
  print("draw point", l, "x", r)
  draw.ellipse((l, r, l + hw, r + hh), fill=c)
img.show()

Recommended Posts

Erstellen eines Hintergrundbilds mit Tupfen mit der Python-Bildbibliothek
Erstellen Sie mit Python + PIL ein Dummy-Image.
Verwenden Sie die Verschlüsselung der Verschlüsselungsbibliothek mit dem Python-Image von Docker
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Bildverarbeitung mit Python
Erstellen Sie eine Bilddatei mit PIL (Python Imaging Library).
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ② Erstellen Sie Photoshop-Standbilder
Bildverarbeitung mit Python (Teil 2)
Bildbearbeitung mit Python OpenCV
Erstellen Sie ein 3D-GIF mit Python3
Sortieren von Bilddateien mit Python (2)
Sortieren von Bilddateien mit Python (3)
Erstellen Sie den Image Viewer mit Tkinter
Bildverarbeitung mit Python (Teil 1)
Tweet mit Bild in Python
Bilddateien mit Python sortieren
Bildverarbeitung mit Python (3)
Erstellen Sie ein Verzeichnis mit Python
[Python] Bildverarbeitung mit Scicit-Image
Schneiden Sie ein Bild mit Python aus
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Erstellen Sie Awaitable mit der Python / C-API
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Erstellen Sie eine virtuelle Umgebung mit Python!
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Lassen Sie uns mit Python Image Scraping durchführen
[HyperledgerIroha] Abfrage mit Python-Bibliothek
Finden Sie Bildähnlichkeit mit Python + OpenCV
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Sende Bild mit Python und speichere mit PHP
Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
HTML-Mail mit Bild zum Senden mit Python
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Erstellen Sie schnell eine Excel-Datei mit Python #python
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellen und entschlüsseln Sie Caesar-Code mit Python
Bildverarbeitung mit Python 100 Knock # 12 Bewegungsfilter
Bildaufnahme von der Kamera mit Python + OpenCV
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ③ Erstellen Sie verschiedene Photoshop-Videos
Erstellen Sie eine Excel-Datei mit Python + Ähnlichkeitsmatrix
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Versuchen Sie HTML-Scraping mit der Python-Bibliothek
[Python] Erstellen Sie schnell eine API mit Flask
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
[Golang] Erstellen Sie ein Docker-Image mit Github-Aktionen
Erstellen Sie eine englische Wort-App mit Python
Die Bildverarbeitung mit Python 100 führt zu einem durchschnittlichen Pooling von # 7
Leichte Bildverarbeitung mit Python x OpenCV