news 2026/6/7 20:36:10

python 生成psd文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 生成psd文件

gen_psd

from PIL import Image from psd_tools import PSDImage from psd_tools.api.layers import PixelLayer def image_to_psd(image_obj: Image, save_path): # 确保图像模式为 RGBA if image_obj.mode != "RGBA": image_obj = image_obj.convert("RGBA") # 将PIL图像转换为PSD格式 psd = PSDImage.frompil(image_obj) # 创建一个新图层 pixel_layer = PixelLayer.frompil(image_obj, psd) pixel_layer.visible = True # 设置图层为可见 psd.append(pixel_layer) # 将图层添加到PSD中 psd.save(save_path) # 保存为PSD文件 if __name__ == "__main__": image_obj = Image.open(r"D:\project_2025\live2d\talking-head-anime-4-demo-main\demo\character_model\character.png") save_path = 'demo.psd' image_to_psd(image_obj, save_path)

创建多个图层:

from PIL import Image from psd_tools import PSDImage from psd_tools.api.layers import PixelLayer def image_to_psd(image_paths, save_path): # 读取第一张图,作为 PSD 画布 base_img = Image.open(image_paths[0]).convert("RGBA") psd = PSDImage.frompil(base_img) # 第一个图层 layer0 = PixelLayer.frompil(base_img, psd) layer0.name = "Base" layer0.visible = True psd.append(layer0) # 后续图片作为新图层 for i, img_path in enumerate(image_paths[1:], start=1): img = Image.open(img_path).convert("RGBA") layer = PixelLayer.frompil(img, psd) layer.name = f"Layer_{i}" layer.visible = True psd.append(layer) # 保存 PSD psd.save(save_path) if __name__ == "__main__": image_paths = [ r"D:\project_2025\live2d\talking-head-anime-4-demo-main\demo\data\images\lambda_02_face_mask.png", r"D:\project_2025\live2d\talking-head-anime-4-demo-main\demo\data\images\lambda_02.png", ] image_to_psd(image_paths, "demo.psd")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 9:42:46

26、嵌入式系统调试全攻略:硬件辅助与启动问题排查

嵌入式系统调试全攻略:硬件辅助与启动问题排查 1. 硬件辅助调试概述 在嵌入式系统开发中,调试是一个至关重要的环节。尤其是对于早期内核启动代码的调试,KGDB 往往无法胜任,因为它要在大部分底层硬件初始化代码执行后才会被初始化。而当你面临全新电路板设计、移植引导加载…

作者头像 李华
网站建设 2026/6/5 13:01:54

拆解:30W 2800转速 飞利浦筋膜枪

Big-Bit本次拆解的飞利浦便携式筋膜枪PPM3203G的电驱电控系统,其官方宣称这款产品能做到不仅以仅重0.7kg的迷你机身,轻松收纳进通勤包或旅行箱。更在按摩体验上实现了8mm深度振幅与高达2800转/分钟的动力输出,精准直击肌肉深层筋膜。那么这款…

作者头像 李华
网站建设 2026/6/7 17:07:03

odoo-080 _check_company 相关的属性、方法

文章目录相关属性和方法company 相关属性company 相关方法总结相关属性和方法 company 相关属性 字段中属性定义check_companyTrue 为模型添加 company_id 字段 company_id fields.Many2one(res.company, stringCompany, defaultlambda self: self.env.company)模型属性定…

作者头像 李华
网站建设 2026/6/2 12:41:43

AI助力编程新时代:程序员的核心能力现在是什么?

最近一个月,我做了一件从未做过的事:构建微调大模型的数据集。我从未学过 Python,却使用 AI 完成了所有代码,验证了我的构想。 工作流是这样的: 我负责架构:技术调研,拆解流程,明确…

作者头像 李华
网站建设 2026/6/4 22:50:18

原生 APP 外包开发公司

寻找优秀的原生 APP 外包开发公司是确保项目质量、性能和用户体验的关键。原生 APP(如 iOS 的 Swift/Objective-C,Android 的 Kotlin/Java)相比跨平台开发,通常能带来更流畅的体验和更强大的系统能力。在选择公司时,您…

作者头像 李华