大佬教程收集整理的这篇文章主要介绍了《Python实例》用Pillow录制屏幕,制作gif ,太简单了,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
2、技术分析
3、需求详细分解
4、测试接口
5、show you code
6、总结:
gif 的文章上次实现了图片的合成c;看下我们上次的需求分解
我的需求就是能录制gif 图片c;因为第一次做这种东西c;所以需要分解需求。
步骤一:我需要能录屏c;也就是截屏功能c;将当前屏幕保存c;技术方案暂时没定c;这次实现
步骤二:我需要能把截屏的图片进行合并c;合成gif图片c;已经找到合适的库c;立即做。已实现
步骤三:将python文件进行界面友好化c;非核心功能c;延期。
步骤二已经实现c;步骤一我们这次实现
依然使用Pillow实现我呢的录屏功能c;Python使用的3.8 c;Pillow的具体安装上次的文章中有详细的情况。
简单的说就是pip install pillow
上篇链接:《Python实例》自己用Python写个gif生成工具c;Pillow 真TM简单!
1.实现录屏功能
2.可以调节录屏的帧率c;防止生成的gif 文件过大
3.可以选择录屏的部分区域生成
4.可以在开始的时候选择延时处理
我在测试录屏功能的代码:
def takeSnapTest():
m = int(input("请输入想抓屏多少秒:"))
n = 1
m = frame * m
while n < m:
sleep(sleepTimE)
im = ImageGrab.grab()
local = (r"%s.jpg" % (n))
im.save(local, 'jpeg')
n = n + 1
上面的代码会将屏幕生成图片保存到当前代码所在的文件夹下
从结果可以看到上面的代码能够捕获屏幕c;并且生成图片c;可以衔接我之前所做的工作c;用图片合成gif
#!/usr/bin/env python
# encoding: utf-8
"""
#Author: 香菜
@time: 2021/8/9 0009 下午 8:55
"""
from time import sleep
from PIL import ImageGrab
frame = 10
sleepTime = 1.0 / frame
def makeGif(imgList):
im = imgList[0]
im.save('beauty.gif', save_all=True, append_images=imgList[1:], loop=0, duration=sleepTimE)
def takeSnap():
m = int(input("请输入想抓屏多少秒:"))
x = int(input("多少秒后开始c;0 立即开始:"))
if x != 0:
sleep(X)
n = 1
m = frame * m
imgList = []
while n < m:
sleep(sleepTimE)
im = ImageGrab.grab()
w, h = im.size
cropim = im.crop((0, 0, w / 2, h / 2))
# local = (r"%s.jpg" % (n))
imgList.append(cropim)
# cropim.save(local, 'jpeg')
n = n + 1
return imgList
if __name__ == '__main__':
imgList = takeSnap()
makeGif(imgList)
测试一下c;运行一下看看结果
基本上完成了我的需求。
1、可以优化坐标的选取c;我现在设置的直接取左上角c;可以在设计界面的时候由用户选取
2、可以优化速度c;现在的速度没有经过精确计算c;似乎有点快c;懒得出来了c;交给你了。
3、下面要做的是搞个界面c;有点难c;我也不擅长c;可能会放弃c;你加油
4、写代码的过程中遇到的问题c;图片的截取c;差点没找到接口要用其他的库去截取
源码地址:https://download.csdn.net/download/perfect2011/21012239
原创不易c;求点赞支持
以上是大佬教程为你收集整理的《Python实例》用Pillow录制屏幕,制作gif ,太简单了全部内容,希望文章能够帮你解决《Python实例》用Pillow录制屏幕,制作gif ,太简单了所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。