pil zeichnen von text mit verschiedenen Farben
Hallo zu ziehen, drei verschiedene Texte mit verschiedenen Optionen für die ex:
- text-Zahl-1 , font=arial color=red
- text-Zahl-2 , font=veranda, Farbe=blau, Größe=30
- 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
code Hinzugefügt, dass ich nun verwenden
InformationsquelleAutor Frankenstein Palinskij | 2013-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "fill" - parameter wird ein Tupel mit 4-Reihe, wie ein RGBA-colormode.
Für Opak rot:
Ich habe versucht, fill="red" oder " fill="#ff0000", beide Werke.
InformationsquelleAutor MatthieuW
einfach diese
InformationsquelleAutor redreamality