Créer un papier peint à pois avec la bibliothèque d'images Python

C'est bon. Créer un fond d'écran à pois en utilisant Python et PIL (Python Image Library) Vous devez installer PIL et Python à l'avance. Reportez-vous au bas pour l'installation.

Comment utiliser

Prend deux arguments. Le format des deux arguments est le même, c'est-à-dire la spécification de couleur du format HLS séparée par:. Notez que la notation hsl prise en charge par CSS3 et l'ordre des arguments sont différents. 360:100:100 Le nombre avant le premier: est Hue (teinte). Il prend une valeur de 0 à 360. Le numéro suivant est la luminance. Il prend une valeur de 0 à 100. Le dernier chiffre est la saturation. Il prend une valeur de 0 à 100. En spécifiant deux de ces valeurs, vous pouvez spécifier la couleur du cercle à pois. wallpaper.py 84:84:84 164:98:84

Dans la bibliothèque d'images Python, le traitement anti-aliasing ne peut être appliqué que lorsque l'image est réduite, de sorte que la taille de l'image est fixée à 100 * 100 et affichée dans votre visionneuse d'images. Affichez-le avec IrfanView, etc., réduisez-le, puis enregistrez-le dans le format de votre choix (je l'ai fait car IrfanView a des algorithmes de réduction d'image de plus en plus puissants).

Code source

De plus, le code à convertir au format de code couleur pouvant être utilisé de RVB à PIL est celui du site suivant.

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 = []
#Analyse d'argument
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

Créer un papier peint à pois avec la bibliothèque d'images Python
Créez une image factice avec Python + PIL.
Utiliser le chiffrement de la bibliothèque de chiffrement avec l'image Python de Docker
Créer une image avec des caractères avec python (japonais)
Traitement d'image avec Python
Créez un fichier image à l'aide de PIL (Python Imaging Library).
Créez diverses vidéos Photoshop avec Python + OpenCV ② Créez une image fixe Photoshop
Traitement d'image avec Python (partie 2)
Édition d'image avec python OpenCV
Créer un gif 3D avec python3
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Créer une visionneuse d'images avec Tkinter
Traitement d'image avec Python (partie 1)
Tweet avec image en Python
Tri des fichiers image avec Python
Traitement d'image avec Python (3)
Créer un répertoire avec python
[Python] Traitement d'image avec scicit-image
Découpez une image avec python
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Créer Awaitable avec l'API Python / C
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Créez un environnement virtuel avec Python!
Traitement d'image avec la binarisation Python 100 knocks # 3
Faisons du scraping d'images avec Python
[HyperledgerIroha] Requête avec la bibliothèque Python
Trouver la similitude d'image avec Python + OpenCV
100 traitement d'image par Python Knock # 2 Échelle de gris
Envoyer l'image avec python et enregistrer avec php
Génération d'images dégradées avec Python [1] | np.linspace
Traitement d'image par Python 100 knock # 10 filtre médian
Créer un décorateur de fonction Python avec Class
Créez wordcloud à partir de votre tweet avec python3
mail html avec image à envoyer avec python
Créer une visionneuse de traitement d'image avec PySimpleGUI
100 traitement d'image avec Python Knock # 8 Max Pooling
Introduction au remplissage d'image Python Remplissage d'image à l'aide d'ImageDataGenerator
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Créez rapidement un fichier Excel avec Python #python
Traitement d'image avec Python et OpenCV [Tone Curve]
Créer un environnement Python + uWSGI + Nginx avec Docker
Créer et décrypter du code César avec python
Traitement d'image par Python 100 knock # 12 motion filter
Acquisition d'images depuis une caméra avec Python + OpenCV
Créez diverses vidéos Photoshop avec Python + OpenCV ③ Créez diverses vidéos Photoshop
Créer un fichier Excel avec Python + matrice de similarité
Créer un compteur de fréquence de mots avec Python 3.4
Essayez le scraping HTML avec la bibliothèque Python
[Python] Créez rapidement une API avec Flask
Dessin avec Matrix-Reinventor of Python Image Processing-
Traitez facilement des images en Python avec Pillow
Publiez votre propre bibliothèque Python sur Homebrew
[Golang] Créer une image de menu fixe avec des actions Github
Créez une application de mots anglais avec python
Traitement d'image avec Python 100 knocks # 7 pooling moyen
Traitement d'image léger avec Python x OpenCV