当前位置: 首页 > web >正文

代码分享:python实现svg图片转换为png和gif

import cairosvg
import imageio
from PIL import Image
import io
import osdef svg_to_png(svg_path, png_path):try:cairosvg.svg2png(url=svg_path, write_to=png_path)print(f"成功将 {svg_path} 转换为 {png_path}")except Exception as e:print(f"转换为 PNG 时出错: {e}")def svg_to_gif(svg_path, gif_path):try:# 将 SVG 转换为 PNG 图像png_bytes = cairosvg.svg2png(url=svg_path)image = Image.open(io.BytesIO(png_bytes))# 将 PNG 图像保存为 GIFimage.save(gif_path, save_all=True, append_images=[image], duration=100, loop=0)print(f"成功将 {svg_path} 转换为 {gif_path}")except Exception as e:print(f"转换为 GIF 时出错: {e}")if __name__ == "__main__":current_directory = os.getcwd()input_directory = current_directory#os.path.join(current_directory, 'input_svgs')output_directory = os.path.join(current_directory, 'output_images')if not os.path.exists(output_directory):os.makedirs(output_directory)for filename in os.listdir(input_directory):if filename.endswith('.svg'):svg_file = os.path.join(input_directory, filename)base_name = os.path.splitext(filename)[0]png_file = os.path.join(output_directory, f'{base_name}.png')gif_file = os.path.join(output_directory, f'{base_name}.gif')svg_to_png(svg_file, png_file)svg_to_gif(svg_file, gif_file)
http://www.xdnf.cn/news/1446.html

相关文章:

  • linux软硬连接
  • 3.1 Agent定义与分类:自主Agent、协作Agent与混合Agent的特点
  • Vue3祖先后代组件数据双向同步实现方法
  • 基于STM32、HAL库的MAX5402EUA数字电位器驱动程序设计
  • Qt creator 16.0.1 语言家失效解决方法
  • 洛谷5318C语言题解
  • AIGC(生成式AI)试用 31 -- AI做软件程序测试 2
  • JEnv-for-Windows​管理JDK版本
  • web刷题笔记
  • 基于deepseek的模型微调
  • HCIA-Access V2.5_18_网络管理基础_3_ 华为接入网络网络管理系统概览
  • 2025年04月23日Github流行趋势
  • Byte-Buddy系列 - 第3讲 byte-buddy与jacoco agent冲突问题
  • Qt Creator中自定义应用程序的可执行文件图标
  • node.js 实战——(path模块 知识点学习)
  • 计算机视觉基础
  • 编程实现ESP8266分别作为服务端 客户端
  • 集结号海螺捕鱼服务器调度与房间分配机制详解:六
  • nginx部署前端项目时,正常访问前端页面成功后,浏览器刷新报404解决访问
  • ​​OSPF核心机制精要:选路、防环与设计原理​
  • 一篇文章学会开发第一个ASP.NET网页
  • 金融租赁质检的三重业务困境 质检LIMS系统的四大价值赋能场景
  • “时间”,在数据处理中的真身——弼马温一般『无所不能』(DeepSeek)
  • MCU开发学习记录11 - ADC学习与实践(HAL库) - 单通道ADC采集、多通道ADC采集、定时器触发连续ADC采集 - STM32CubeMX
  • Python jsonpath库终极指南:json数据挖掘的精准导航仪
  • 消息中间件RabbitMQ02:账号的注册、点对点推送信息
  • MySQL运算符
  • kafka安装、spark安装
  • 5.学习笔记-SpringMVC(P53-P60)
  • Spring Boot 的配置加载顺序