convert_logo.py 760 B

1234567891011121314151617181920
  1. import base64
  2. from PIL import Image
  3. png_path = r'e:\UGitWordSpace\MaxKB-2.8.1\ui\src\assets\logo\logo.png'
  4. svg_path = r'e:\UGitWordSpace\MaxKB-2.8.1\ui\src\assets\logo\logo.svg'
  5. ico_path = r'e:\UGitWordSpace\MaxKB-2.8.1\ui\public\favicon.ico'
  6. img = Image.open(png_path)
  7. with open(png_path, 'rb') as f:
  8. encoded_string = base64.b64encode(f.read()).decode('utf-8')
  9. svg_content = f"""<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {img.width} {img.height}">
  10. <image width="100%" height="100%" href="data:image/png;base64,{encoded_string}"/>
  11. </svg>"""
  12. with open(svg_path, 'w', encoding='utf-8') as f:
  13. f.write(svg_content)
  14. img.save(ico_path, format='ICO', sizes=[(16, 16), (32, 32), (48, 48), (64, 64), (128, 128)])
  15. print("Conversion complete.")