【教学类-36-03】20230627midjounery-niji表情包图片的矩阵式切割(3*3)及PPT制作GIF动画过程

该文章介绍了一个使用Python的PIL库来切割PNG图片,将3*3的熊猫表情图拆分成9张小图,以便于生成GIF动图的过程。作者提供了代码示例,通过用户输入图片尺寸和矩阵数量进行操作。之后,文章提到了利用PowerPoint制作GIF的步骤,包括设置幻灯片大小、换片方式以及使用格式工厂将MP4转换为GIF。
摘要由CSDN通过智能技术生成

作品展示

背景需求:

学习midjounery-niji表情包制作,先用关键词生成了一张3*3的熊猫多种表情图矩阵式样

 选第3张,放大,另存为“熊猫9张图”

 

需要:

把这张PNG图片切成9张同样大的小图,便于生成GIF动图。

图片位置:

 代码展示:


# 参考网址:https://blog.csdn.net/weixin_42182534/article/details/125773141?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E6%88%AA%E5%8F%96%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-125773141.nonecase&spm=1018.2226.3001.4187

'''
功能:把midjounery 生成的3*3表情图(熊猫)等分切割成小图ng)
作者:阿夏
时间:2023年6月26日 19:51
'''

from PIL import Image
import os
import os.path
long=int(input('图片长度像素(2048,2912,1024)\n'))
wide=int(input('图片宽度像素(2048,1632,1024)\n'))

qf=int(input('切分矩阵数量3(2*2,3*3,4*4)\n'))
# 目前图片都是2*2,3*3排列

# 1:1图比例是2048
# 16:9图片比例 2912:1632
wj=input('文件夹名称\n')
 
# 定义文件所在文件夹
image_dir = r'C:\Users\jg2yXRZ\OneDrive\桌面\{}'.format(wj)
for parent, dir_name, file_names in os.walk(image_dir):  # 遍历每一张图片
    for filename in file_names:
        print(filename)
        pic_name = os.path.join(parent, filename)
        image = Image.open(pic_name)
        _width, _height = image.size
        print(_width, _height)
 
        
        # 四张图片的坐标
        t1=[0,0,float(long/qf),float(wide/qf)]
        t2=[float(long/qf),0,float(long/qf*2),float(wide/qf)]
        t3=[float(long/qf*2),0,long,float(wide/qf)]
        # t4=[0,0,float(long/qf),float(wide/qf)]
        t4=[0,float(wide/qf),float(long/qf),float(wide/qf*2)]
        t5=[float(long/qf),float(wide/qf),float(long/qf*2),float(wide/qf*2)]
        t6=[float(long/qf*2),float(wide/qf),long,float(wide/qf*2)]
        t7=[0,float(wide/qf*2),float(long/qf),wide]
        t8=[float(long/qf),float(wide/qf*2),float(long/qf*2),wide]
        t9=[float(long/qf*2),float(wide/qf*2),long,wide]
        # t3=[0,float(wide/qf),float(long/qf),wide]
        # t4=[float(long/qf),float(wide/qf),long,wide]

        pic=t1+t2+t3+t4+t5+t6+t7+t8+t9
        print(pic)
        print(len(pic))
        # [0, 0, 1456.0, 816.0, 1456.0, 0, 2912, 816.0, 0, 816.0, 1456.0, 1632, 1456.0, 816.0, 2912, 1632]

        qfall=4
        # 每张图有4个坐标
        n=0  
        for p in range(int(len(pic)/4)):
            pp=pic[p*4:p*4+4]
            print(pp)

                    
            # 定义裁剪范围(left, upper, right, lower)1024
            # # box = image.crop((0,0,123,123))
            box = image.crop((pp[0],pp[1],pp[2],pp[3]))
            name = filename[:-4]+'_'+str(n) +'.png'
            
            print(name)
            # # # ,pp[3],pp[4],pp[5],pp[6],pp[7],pp[8],pp[9]))
            # # name = filename[:-4]+'_'+str(p) +'.png'
            
            box.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\{}\{}'.format(wj,name))
            n+=1
            
    print('Done!')    
 

终端运行:

1、先查看图片的长宽尺寸(1024*1024)

 2、输入信息

 

 

 生成GIF的思路

1、桌面新建一个“PPTX” 

2、使用PPTX相册导入照片

 

 

 

 

 2、设计-幻灯片大小-自定义幻灯片大小

 

 

 

 

3、删除第一页

 4、添加统一文字

 

选中这个文本框的边缘,右击剪切

 此时熊猫下面没有文字了

 进入幻灯片模板

 

 

 5、切换-换片方式(几秒换一张图片)

 

 6、图片修图

 

 

 

 

 

 

7、 保存为MP4(重要步骤)

 

 

 作品生成(位置在桌面)

8、MP4转GIF(微信用)

打开“格式工厂”

视频-GIF

 

 

 

 

 

 

 最终效果展示:(GIF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值