用Python的海龟画图模块当然可以制作图片查看器的。
以下是部分代码预览:
""" 金龟子图片查看器.py 用python的海龟画图制作的图片查看器,支持查看png/bmp/jpg等,还能看gif动画, 这是一个雏形程序,还不是很完善,方便学习原理。 可以把源码转换成exe程序,然后让这个exe程序和jpg,png,gif等产生关联, 这样双击图片就能使用自制的图像查看器看图了。 源程序打包方法pyinstaller -F 图片查看器.pyw """ import os import sys from turtle import Turtle,Screen,Shape from PIL import Image,ImageTk, ImageSequence class Viewer: """查看器""" def __init__(self,image): # 下面可以进行扩展名检测,把不是图片的排除... ext = os.path.splitext(image)[-1].lower() if ext == '.gif': self.isgif = True self.frames = [] im = Image.open(image) # 以下是拆帧 for frame in ImageSequence.Iterator(im): new = Image.new("RGB",im.size,(255,0,0)) new.paste(frame,(0,0)) self.frames.append(new) else: im = Image.open(image) self.frames = [im] self.isgif = False self.screen = Screen() # 新建屏幕 self.screen.bgcolor(0.2,0.3,0.5) self.screen.title(image) # 标题显示图像路径 pass self.turtle = Turtle(visible=False) self.turtle.penup() self.turtle.sety(50) self.turtle.color('gray') ft = ('楷体',32,'normal') self.turtle.write("金龟子图像查看器",align='center',font=ft) self.turtle.sety(-150) self.turtle.color('cyan') ft = ('黑体',12,'normal') self.turtle.write("www.lixingqiu.com",align='center',font=ft) self.turtle.home() # 注册所有造型到形状字典中 [self.screen.addshape(str(i),self.shapes[i]) for i in range(len(self.shapes))] self.turtle.st() self.play() self.scale = 1 # 原始比例为1 self.screen.cv.bind_all("",self.on_mousewheel) self.screen.mainloop() def play(self): """显示静态或动态图片""" self.turtle.shape(str(self.index)) self.screen.update() self.index += 1 self.index %= self.amounts if self.isgif : self.screen.ontimer(self.play,100) def on_mousewheel(self,event): """鼠标滚动事件,以后可以增加图片缩放功能""" self.scale += event.delta/1200 print(self.scale) pass
如需要下载完整源代码及素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)