Drawing and Displaying an Image with PIL

W. eWatson notvalid2 at sbcglobal.net
Tue Jan 27 23:43:56 EST 2009


r wrote:
> On Jan 27, 9:15 pm, "W. eWatson" <notval... at sbcglobal.net> wrote:
>> Here's my program:
>>
>> # fun and games
>> import Image, ImageDraw
>>
>> im = Image.open("wagon.tif") # it exists in the same Win XP
>> # folder as the program
>> draw = ImageDraw.Draw(im)
>> draw.line((0, 0) + im.size, fill=128)
>> draw.line((0,0),(20,140), fill=128)
>>
>> # How show this final image on a display?
>>
>> root.mainloop()
>>
>> It has two problems. One is it crashes with:
>>      draw.line((0,0),(20,140), fill=128)
>> TypeError: line() got multiple values for keyword argument 'fill'
>>
>> Secondly, it has no way to display the image drawn on. Is it possible, or do
>> I have to pass the image off to another module's methods?
>>
>> --
>>                                 W. eWatson
>>
>>               (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
>>                Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet
>>
>>                      Web Page: <www.speckledwithstars.net/>
> 
> I have not tried your code but i think you need to put your coodinates
> in one tuple. Here is an example from the docs
> 
> Example
> Example: Draw a Grey Cross Over an Image
> import Image, ImageDraw
> im = Image.open("lena.pgm")
> draw = ImageDraw.Draw(im)
> draw.line((0, 0) + im.size, fill=128)
> draw.line((0, im.size[1], im.size[0], 0), fill=128)
> del draw
> # write to stdout
> im.save(sys.stdout, "PNG")
> 
> Hope that helps
That's pretty much the code I used. In fact, I borrowed it from the pdf. I 
just tried it, and it output "%PNG".

I'd like to see this displayed in a window. If the fine had written 
properly, I could see whether it really drew the lines. It did not fail on 
the same draw stmts in my program.

I see my problem, , instead of + between the tuples. I thought I'd seen 
another example where the 2-d tuples could be separated.

I see a ImageFile module, but it's not for writing image files simply.

-- 
                                W. eWatson

              (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
               Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet

                     Web Page: <www.speckledwithstars.net/>




More information about the Python-list mailing list