imagemagick
效果不太理想,有些svg图片,convert会生成灰色空白图片,另外尺寸也不方便控制。虽然可以使用参数 -resize 100x
但是这个是在转换后的像素点图上执行的,因此会让图像变得不清晰。
# svg图片地址为网络地址
curl -s https://example.com/country-flags/svg/cn.svg | convert svg:- out.png
# 本地svg
convert input.svg output.png
python manim
这种方式可以任意调节svg的大小,另外是调整的矢量图的方式,然后才会渲染成像素点图的png等格式图片,因此不会损失质量。
from manim import *
class SvgToImage(Scene):
def construct(self):
self.add(SVGMobject(
'input.svg',
width=config.frame_width,
height=config.frame_height
))
然后调用 manim ttt.py SvgToImage -s -r 300,200 -o ~/Desktop/out.png
这里的 -r 300,200
表示输出的大小,这里的大小请保持原图的宽高比,否则会出现黑边。