用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资源。)

