Простите, но у меня все отрисовывает. Вы уверены, что правильно передаете переменные. Вы же сделалаи их глобальными не только в функции graf, но и в функции save_grf тоже продублировали?
global x0
global x1
global y0
global y1
Вообще такое количество глобальных переменных - это полная жесть. Такую программу нельзя будет потом использовать как часть какого-нибуть модуля. Точне не то чтобы нельзя вообще. Просто нежелательно. Лучше при постоении создать объект и на него передавать управление. А он уже будет прорисовывать все, что надо…
Код, который у меня без проблем работает:
import ImageDraw
import Image
image = Image.new('RGB',(500,500),(225,225,225,225))
draw=ImageDraw.Draw(image)
draw.ellipse((50,50,100,100),outline='red')
image.save('pic.png','PNG')
P.S. del делать не нужно :) Фото приклеил.
P.S.S. Не забывайте оборачивать код в теги - очень трудно читать и иногда невозможно найти ошибку отступов (неправильные отступы не отследить при таком отображении).
P.S.S.S. Группа “Harakiri for the Sky”. Альбом аналогичный.