pil zeichnen von text mit verschiedenen Farben

Hallo zu ziehen, drei verschiedene Texte mit verschiedenen Optionen für die ex:

  1. text-Zahl-1 , font=arial color=red
  2. text-Zahl-2 , font=veranda, Farbe=blau, Größe=30
  3. text-Zahl-3 , font=tahoma, Farbe=grün Größe=40 align=center

text gehen müssen, in neue Linien.

def pil_image(request):
text = request.GET.get('text', None)
font = str(request.GET.get('font', 'arial'))
fontsize = int(request.GET.get('fontsize', '20'))
textcolor = str(request.GET.get('textcolor', '000'))

import Image, ImageDraw, ImageFont, textwrap

img = Image.open('media/text/transparent.png')
img = img.convert("RGBA")
datas = img.getdata()
w, h = img.size

newData = []
for item in datas:
    if item[0] == 255 and item[1] == 255 and item[2] == 255:
        newData.append((255, 255, 255, 0))
    else:
        newData.append(item)

img.putdata(newData)

draw = ImageDraw.Draw(img)
font = ImageFont.truetype("media/text/fonts/" + font + ".ttf", fontsize, encoding="unic")


margin = offset = 40
for line in textwrap.wrap(text, width=48):
    w, h = draw.textsize(line)
    draw.text((margin, offset), line, font=font, fill='#'+textcolor)
    offset += font.getsize(line)[1]

del draw 

img.save("media/text/custom.png", "PNG")

return HttpResponse("<img src='/media/text/custom.png'>");
Sie müssen ein Beispiel geben, was du schon versucht, oder zumindest begrifflich das, was Sie haben ein problem zu verstehen oder zu lösen. SO ist hier nicht zu tun, Aufgaben für Sie.
code Hinzugefügt, dass ich nun verwenden

InformationsquelleAutor Frankenstein Palinskij | 2013-02-22

Schreibe einen Kommentar