使用PIL在屏幕上移动点

时间:2018-02-01 12:41:32

标签: python class python-imaging-library

我写了一个示例代码,用黑色背景绘制一组点。我想做的是采取一个点并沿着特定的坐标集移动它。我还想计算一个点从一个坐标移动到另一个坐标所需的时间。我真的坚持实施。任何建议将不胜感激?

from PIL import Image, ImageDraw, ImageFont, ImageChops
from random import randrange
import time
class ImageHandler(object):                  #
    reso_width = 100
    reso_height = 100
    radius = 5

    def __init__(self,width,height,spot_lightradius = 5):
        self.reso_width = width                                         
        self.reso_height = height
        self.radius = spot_lightradius

    def get_image_spotlight(self,set_points):
        image,draw = self.get_black_image()
        for (x,y) in set_points:
            draw.ellipse((x-self.radius,y-self.radius,x+self.radius,y+self.radius),fill = 'white')
        image.show("new_image")
        return image

    def get_black_image(self):
        image = Image.new('RGBA',(self.reso_width,self.reso_height),"black")
        draw = ImageDraw.Draw((image))
        return image,draw


counter = 1
hi =  ImageHandler(1000,1000)
points = [(52,700)]
img = hi.get_image_spotlight(points)
time.sleep(500)

1 个答案:

答案 0 :(得分:1)

PIL用于创建或操作静态图像。看起来你想做一些动画。为此,其他库更有用,例如PyGame。 (如果你想使用Python)或浏览器中的JavaScript Canvas,如果你对JavaScript没问题。

此外,您希望'计算一个点从一个坐标移动到另一个坐标所需的时间有点模糊。作为程序员,您可以自己确定一个点在屏幕上移动的速度; - )