将微信聊天记录长截图进行切割,除第一张切图外,其余切图包含上张切图的后几句聊天记录,支持2种格式,单张或双张切图。

依赖

  • pillow
  • tkinter

运行

python main.py

操作说明

选择长截图所在文件夹,点击运行即可。
程序会遍历所选文件夹下的所有图片,对其进行截图,结果保存在所选文件夹下的所选图片同名的文件夹下,按顺序进行编号。

主要代码

def splitPicture(file_name: str, width_dt: int = 10):config_file = "config.json"if os.path.exists(config_file):config_json = getConfigData(config_file)else:config_json = {"图片高度": 2400, "重复高度": 200}with open(config_file, "w", encoding="utf-8") as f:f.write(json.dumps(config_json, ensure_ascii=False))pic_height = config_json["图片高度"]idt_height = config_json["重复高度"]path, text = os.path.splitext(file_name)_, name = os.path.split(path)if not os.path.exists(path):os.mkdir(path)im = Image.open(file_name)image_width, image_height = im.sizei = 1upper = 0to_image = Nonewhile upper < image_height:if upper > idt_height:upper -= idt_heightbottom = upper + pic_heightif bottom > image_height:bottom = image_heightregion = im.crop((0, upper, image_width, bottom))region.save(os.path.join(path, f"{name}_{i:02d}{text}"))if to_image is None:to_image = Image.new("RGB", (image_width * 2 + width_dt, pic_height), "white")to_image.paste(region, (0, 0))else:to_image.paste(region, (image_width + width_dt, 0))to_image.save(os.path.join(path, f"_{name}_{(i-1):02d}{text}"))to_image = Image.new("RGB", (image_width * 2 + width_dt, pic_height), "white")to_image.paste(region, (0, 0))upper = bottomi += 1return None

配置

参见config.json

{"图片高度": 2400,"重复高度": 200
}

打包

pyinstaller -F -w -i .\favicon.ico -n 切图 .\main.py -i .\favicon.ico -n 切图 .\main.py

github

https://github.com/chenwr727/wechat-chat-record-screenshot

微信聊天记录长图切割相关推荐

  1. android微信分享长图功能,安卓分享9宫格图片到微信

    首先感谢@DCloud_Android_磊子,test_weixin_share_mul_pic这个是他写给我的,我只做了一点小改动 用法,先setShareMsg把当前页面的商品名称.相册存到全局变 ...

  2. 简单利用微信拼接长图方法

    步骤如下: 1.打开微信->我->收藏->右上角+ 2.进入后左下角选择图片->拼多少张选多少张 3.然后右上角...保存为图片即可,非常简单!

  3. android分享截屏到微信,Android 微信分享长图 ScrollView 生成长截图 View变bitmap

    这个不太难,绘制本页布局为图片 这样的功能 1.截屏 这个对于我这个CV战士来说,一见面我就觉得不可取了, ①.截屏 如果有三方库的话 最好了,没有 只能调 手机自带的,然而自带就意味着权限 ②.去除 ...

  4. android 照片拼接长图_我才发现,微信里面有一个功能,能将手机照片自动拼成长图...

    微信朋友圈发图片有限制,一次只能发9张,超过就发送不了.那么喜欢拍照的朋友肯定肯定想一次性多分享几张,其实微信自带拼接长图功能,多张照片上传,就能变成一张长图,一次性在朋友圈分享几十张图片都可以. 微 ...

  5. 5个方法教你苹果手机怎么截长图!

    案例:iPhone怎么滚动截取图片? [求助!想要分享长图给朋友,但是我不知道苹果手机怎样才可以滚动截图?希望大家能分享一些方法!] 在使用苹果手机时,我们常常需要截取一些网页或者聊天记录的长图,但是 ...

  6. 苹果x如何截屏_果粉请注意!苹果手机也能截长图了,原来iPhone截屏还能这样玩!...

    如今很多用户在选择手机时都十分注重手机的实用性,而一部好用的手机除了拥有强大的配置以外,一些实用的小功能也能顺利圈粉.苹果手机和安卓手机都各有千秋,不少使用iPhone的网友都说,安做手机长截图功能很 ...

  7. android微信分享大图长图,裁剪微信分享缩略图片(长缩略图取中裁剪)

    有时分享出去的图片如果过长,就会导致缩略图的正方形图片呈现的效果是被压缩的,一般才用居中裁剪的方式,将裁剪后的图作为缩略图即可 本文后面将举微信分享到朋友圈和好友到例子,在分享出去到图片中,若为长图, ...

  8. 微信公众号如何上传长图

    微信公众号如何上传长图?我们先要了解为什么要做长图,有哪些难题,最后再来解决如何上传长图. 为什么要做长图? 回顾整个2019年,条漫当道,肉眼可见的,大号们都奔着条漫去了.他们大多看上去好像只用了一 ...

  9. 微信朋友圈长图居中展示。

    微信朋友圈长图居中展示 下载地址:https://download.csdn.net/download/webben/11275077 <!DOCTYPE html> <html&g ...

最新文章

  1. java批量执行sql语句_Java中批量执行sql语句
  2. SAP WM 确定WM移动类型配置里'存储地点参考'优先级高于'特殊移动标记'
  3. json数据格式化展示出来
  4. slf4j注解log报错_SpringBoot自定义日志注解,用于数据库记录操作日志,你用过吗?...
  5. Python学习笔记 ---第三章
  6. code forces 436 C. Bus
  7. ASP XML 编程简介
  8. 蓝桥杯 ALGO-79 算法训练 删除数组零元素
  9. 生成模型VS判别模型
  10. java培训 lambda表达式_java 8 中lambda表达式学习
  11. 哈理工OJ 2274 Heroic Action(01坑背包)
  12. 计算机基础中的函数,《计算机基础》中EXCEL函数的简单使用综述
  13. Ansys模态计算结果图片批量导出命令流
  14. VS2015 社区版本 打包程序 发布
  15. 什么是功率因数补偿/校正
  16. 防火门建筑材料英国UKCA认证—EN 16034
  17. java模拟器安卓版钻石狂潮,王者笔记!
  18. FileReader和FileWrite介绍
  19. FileReader类
  20. JDK 8 的安装报javac不是外部或内部命令

热门文章

  1. Cesium聚簇实现-kdbush类实现
  2. iOS图片压缩成指定大小
  3. 网页版视频怎么加快播放速度
  4. linux根文件系统编译和移植过程
  5. php 字体如何加粗和调大小,如何在PHP中使文本变为粗体?
  6. Anaconda python windows环境安装及完全排坑教程
  7. selenium框架爬取p2p问题平台信息,需加载点击页面的。
  8. 雪花算法中的时间回拨问题解决方案
  9. APK文件使用ApkTool解包反编译和重新打包及签名
  10. 前端常见问题以及处理方式 - - - (九) ES6中的set和map(map篇)