吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 684|回复: 29
收起左侧

[Python 原创] 拼接GIF图片

[复制链接]
ROLing0 发表于 2024-11-14 20:48
本帖最后由 ROLing0 于 2024-11-14 20:58 编辑

做ctf题的时候遇到一张GIF图片,如下图
QQ拼音截图20241114205148.png
your_image.7z (657.76 KB, 下载次数: 28)

极其细长,并且有700多帧。把它每一帧分离并拼在一起可以获得一张图片
concatenated_image.png
下面是代码
[Python] 纯文本查看 复制代码
from PIL import Image

# 加载GIF图片
gif_path = r"C:\Users\lenovo\Desktop\your_image.gif"  # 替换为你的GIF文件路径
gif = Image.open(gif_path)

# 获取GIF的每一帧
frames = []
for frame in range(gif.n_frames):
    gif.seek(frame)
    frame_image = gif.copy()
    frames.append(frame_image)

# 拼接所有的帧
total_width = sum(frame.width for frame in frames)
max_height = max(frame.height for frame in frames)

# 创建一个新的空白图片,用于拼接
concatenated_image = Image.new("RGB", (total_width, max_height))

# 将每一帧按顺序粘贴到新的图片上
current_width = 0
for frame in frames:
    concatenated_image.paste(frame, (current_width, 0))
    current_width += frame.width

# 保存拼接后的图像
output_path = r"C:\Users\lenovo\Desktop\concatenated_image.png"  # 输出拼接后的图片路径
concatenated_image.save(output_path)

print(f"拼接后的图片已保存到: {output_path}")

原GIF来源于bugku split_all

免费评分

参与人数 4吾爱币 +7 热心值 +3 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Mikakakakaka + 1 + 1 我很赞同!
Qinmuyi + 1 热心回复!
puyuancheng + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

magicheno 发表于 2024-11-15 00:17
太复杂,看不懂,
goldxound 发表于 2024-11-15 00:54
notook 发表于 2024-11-15 05:57
luyingluying 发表于 2024-11-15 07:31
新人一枚,
龍謹 发表于 2024-11-15 07:38
可以呢,这么几行代码就实现了。
天地和顺 发表于 2024-11-15 08:03
顶礼膜拜,高手致敬
Benevolence 发表于 2024-11-15 08:07
好的代码,往往很简单。
wen1233218 发表于 2024-11-15 08:14
代码写得不错
cici300 发表于 2024-11-15 08:17
没懂,O(∩_∩)O哈哈~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表