Sida 1 av 1
klistra in en bild/icon i en annan bild (Python)
Postat: 16 jul 2007, 15:45
av Victor
hejsan igen, nu kommer jag med en till fråga
som jag sagt tidigare så är jag inte vidare bra på att läsa och förstå manualer. det kan bero på antingen mig eller på att manualerna inte är vidare bra. förmodligen en blandning. Hur som helst, jag vill klistra in en bild i en bild som jag jobbar med.
Jag har luskat ut att det är metoden/funktionen "paste()" som jag ska använda, tror ja. Men hur använder jag den?
Jag använder PIL med modulen Aggdraw (så att det ser finare ut/antialiasing) i Python.
Höpps ni förstår
/Victor
SV: klistra in en bild/icon i en annan bild (Python)
Postat: 17 jul 2007, 10:01
av Victor
Jag tror ja har gjort någorlunda rätt men det jag får ett fel irriterande fel.
Kod: Markera allt
pydev debugger
Traceback (most recent call last):
File "C:\Program Files\Eclipse 3.2.2\plugins\org.python.pydev.debug_1.3.4\pysrc\pydevd.py", line 754, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files\Eclipse 3.2.2\plugins\org.python.pydev.debug_1.3.4\pysrc\pydevd.py", line 597, in run
execfile(file, globals, locals) #execute the script
File "C:\Documents and Settings\eviceng\My Documents\Python\cellTestare\src\paste.py", line 9, in <module>
im.paste("icon.png", im.getbbox())
File "C:\Python25\Lib\site-packages\PIL\Image.py", line 1058, in paste
im = ImageColor.getcolor(im, self.mode)
File "C:\Python25\Lib\site-packages\PIL\ImageColor.py", line 100, in getcolor
color = getrgb(color)
File "C:\Python25\Lib\site-packages\PIL\ImageColor.py", line 96, in getrgb
raise ValueError("unknown color specifier: %r" % color)
ValueError: unknown color specifier: 'icon.png'
då ser den enkla koden ut såhär:
Kod: Markera allt
from PIL import Image
import ImageDraw
im = Image.new("RGBA", (500,500), "white")
draw = ImageDraw.Draw(im)
im.paste("icon.png", im.getbbox())
del draw
im.save("paster.png", "PNG")
Någon som kan hjälpa mig?
EDIT: la dit _hela_ felmedelandet..
SV: klistra in en bild/icon i en annan bild (Python)
Postat: 17 jul 2007, 10:17
av Victor
Ahh, nu förstår jag det felmedelandet..
funktionen paste() kan också användas till att klistra in färger och nu tror den att "icon.png" är en färg och det är därför det felmedelandet kommer upp. Finns det ingen som har ett annat alternativ till paste() som fungerar att klistra in bilder med?
SV: klistra in en bild/icon i en annan bild (Python)
Postat: 18 jul 2007, 16:31
av Victor
Jaha, får väl svara på mig själv igen
denna kod funkar:
Kod: Markera allt
from PIL import Image
import ImageDraw
im = Image.new("RGB", (500,500), "white")
draw = ImageDraw.Draw(im)
icon = Image.open("icon1.jpg")
# get the correct size
x, y = icon.size
im.paste(icon, (0,0,x,y))
del draw
im.save("test.jpg", "JPEG")
Dock var det inte det jag sökte efter. Jag skrev fel kod och kanske lite otydligt i mitt första inlägg. Jag använder modulen aggdraw och där fungerar inte paste()-funktionen på samma sätt, om det övht finns den funktionen.
Har någon ngt annat tips för att klistra in en bild i en annan bild mha PIL och modulen aggdraw?