Avec Python + PIL, j'ai créé un script qui crée une image factice (appelée image filaire) utilisée pour la mise en page d'une page Web à la fois.
Saveur vaincue. Python utilise 2.7.
image-wire-frame-box.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Créer une image en fil de fer
'''
import Image
import ImageDraw
import ImageFont
import sys
def make_image(screen, prefix, extension, pen_color, bg_color):
"""
Créer un fichier image
"""
#Le chemin de la police est différent pour chaque forme plate, alors prenez cela en considération (en fait, battez-le)
if sys.platform == "darwin":
#Pour OSX
#La police japonaise ne fonctionnait pas
#FONTPATH = '/Library/Fonts/Osaka.ttf'
FONTPATH = '/Library/Fonts/Verdana.ttf'
elif sys.platform == "linux2":
#Pour Linux
FONTPATH = '/usr/share/fonts/truetype/fonts-japanese-gothic.ttf'
else:
#Autre que cela, il est jugé comme Windows (défaite)
# FONTPATH = 'hgrme.ttc'
FONTPATH = 'C:\WINDOWS\Fonts\MSGOTHIC.ttc'
#Spécifiez la police
font = ImageFont.truetype(FONTPATH, 24, encoding='utf-8')
img = Image.new('RGB', screen, bg_color)
x, y = img.size
u = x - 1
v = y - 1
draw = ImageDraw.Draw(img)
draw.line((0, 0, u, 0), pen_color)
draw.line((0, 0, u, v), pen_color)
draw.line((0, 0, 0, v), pen_color)
draw.line((u, 0, 0, v), pen_color)
draw.line((u, 0, u, v), pen_color)
draw.line((0, v, u, v), pen_color)
#Mettre du texte dans l'image (défaite)
if x > 63 and y > 24:
draw.text((2, (y - 24) / 2), str(x) + "x" + str(y),
font=font, fill=pen_color)
savefile = prefix + str(x) + "x" + str(y) + extension
img.save(savefile)
if __name__ == '__main__':
#Taille de l'image
screens = (
(16, 16), # favicon
(32, 32), # favicon
(24, 24), # windows icon
(48, 48), # windows icon / avatar
(96, 96), # windows icon / avatar
(64, 64), # mac icon / avatar
(128, 128), # mac icon / avatar
(100, 100), # icon / avatar
(150, 150), # icon / avatar
(256, 256), # icon / avatar ----
(320, 240), # QVGA
(240, 320), # QVGA
(640, 480), # VGA
(480, 640), #VGA (vertical)
(800, 600), # SVGA
(600, 800), #SVGA (vertical)
(1024, 768), # XGA
(768, 1024), #XGA (vertical)
(1280, 960), # Quad-VGA
(960, 1280), # Quad-VGA (vertical)
(1600, 1200), # UXGA
(1200, 1600), #UXGA (vertical)
(1280, 720), # HDTV 720p
(720, 1280), #HDTV 720p (vertical)
(1920, 1080), # HDTV 1080p
(1080, 1920), #HDTV 1080p (vertical)----
(88, 31), #Micro-barre IMU Micro Bar
(120, 60), #Bouton IMU 2 Bouton 2
(160, 600), #IMU Wide Skyscraper Wide Skyscraper
(300, 600), #Demi-page et demi-page IMU
(180, 150), #Rectangle IMU Rectangle (petit)
(300, 250), #Rectangle moyen IMU Rectangle (milieu)
(728, 90), #Grande bannière de classement IMU
(120, 90), #Bouton IMU (Supprimer) 1 Bouton 1
(120, 240), #Bannière verticale IMU (supprimée) Bannière verticale
(120, 600), #Gratte-ciel IMU (supprimé) Skyscraper
(125, 125), #Bouton carré IMU (supprimé) Bouton carré, bouton
(234, 60), #IMU (supprimé) Demi-bannière Demi-bannière
(240, 400), #Rectangle vertical IMU (supprimé) Rectangle vertical
(250, 250), #IMU (supprimé) Square Pop-Up Square
(300, 100), #IMU (supprimé) 3:1 Rectangle 3:1 rectangle
(336, 280), #IMU (supprimé) Grand rectangle Grand rectangle, Rectangle (grand)
(468, 60), #Bannière complète IMU (supprimée), bannière complète
(720, 300), #IMU (supprimé) Pop-Sous pop sous
(200, 200), #Google Square (petit)
(970, 90), #Google Large Big Banner, Big Banner (Large)
(320, 50), #Google Mobile Big Banner
(320, 100), #Bannière Google Mobile (grande)
(240, 400), #Google "Rectangle (vertical)" Russie
(980, 120), #Google "Panorama" Suède et Finlande
(250, 360), #Google "Triple Wide Screen" Suède
(930, 180), #Google "Top Banner" Danemark
(580, 400), #Google "Netboard" Norvège
(750, 100), #Google "Billboard" Pologne
(750, 200), #Google "Double Billboard" Pologne
(750, 300), #Google "Triple Billboard" Pologne
(170, 40), #bannière Détails inconnus
(180, 70), #bannière Détails inconnus
(200, 40), #banner Même la taille de la bannière que l'on trouve souvent dans les systèmes de CG japonais
(400, 40) #banner Même la taille de la bannière qui est courante au Japon
)
#Spécifiez le préfixe
prefix = "wf-"
#Spécifiez l'extension de fichier
#extension = ".png "
extension = ".jpg "
#Spécifiez la couleur du dessin (RVB)
pen_color = (0x00, 0x00, 0xdd)
#Spécifiez la couleur d'arrière-plan (RVB) de l'image
bg_color = (0xdd, 0xdd, 0xdd)
for screen in screens:
print "size: %d,%d" % (screen[0], screen[1])
make_image(screen, prefix, extension, pen_color, bg_color)
#EOF
↓ Une image comme celle-ci est créée en douceur.
Recommended Posts