简单的例子:
import tkinter as tk
import tksvg
window = tk.Tk()
svg_image = tksvg.SvgImage(master=window, file="128.svg", scale=1)
label = tk.Label(bg='#CCCCCC', image=svg_image, borderwidth=0, relief="solid")
print(label.winfo_reqwidth(), label.winfo_reqheight())
label.pack()
window.mainloop()
128.svg - 128x128 像素。
问题:如何将 tksvg 图像的尺寸设置为 pix?
可以通过参数
scaletowidth(或scaletoheight)指定以像素为单位的大小。来自 Tk 8.7 手册:
svg -dpi dpiValue -scale scaleValue -scaletowidth width -scaletoheight heightdpiValue用于给定坐标和屏幕分辨率之间的转换。该值必须大于0,默认值为96。scaleValue用于缩放生成的图像。该值必须大于0,默认值为1。width并且height是图像将被调整到的宽度或高度。, 和 中一次只能给出一个参数
-scale,-scaletowidth并且-scaletoheight始终保留原始图像的纵横比。