MindSpore创意实践:基于深度学习的智能Logo生成器(下)

MindSpore创意实践:基于深度学习的智能Logo生成器(上)

输入文字生成logo

def display_logo(logo_img, title):
    """显示Logo"""
    plt.figure(figsize=(10, 5))
    plt.imshow(logo_img)
    plt.title(title, fontsize=16, pad=20, fontweight='bold')
    plt.axis('off')
    plt.tight_layout()
    plt.show()

def main():
    """主函数:用户交互式Logo生成"""
    
    print("=" * 60)
    print("           🎨 MindSpore 智能Logo生成器 🎨")
    print("=" * 60)
    print("请输入您的品牌名称或广告词,我们将为您生成专业Logo")
    print("支持中文、英文等各种文字")
    print("-" * 60)
    
    while True:
        print("\n📝 请输入文字内容(输入'退出'结束程序):")
        user_input = input(">>> ").strip()
        
        if user_input.lower() in ['退出', 'exit', 'quit', 'q']:
            print("\n感谢使用Logo生成器!再见!👋")
            break
            
        if not user_input:
            print("❌ 输入不能为空,请重新输入!")
            continue
        
        # 清理文件名中的非法字符
        safe_filename = "".join(c for c in user_input if c.isalnum() or c in (' ', '-', '_')).rstrip()
        if not safe_filename:
            safe_filename = "logo"
        output_filename = f"{safe_filename}_logo.png"
        
        try:
            # 生成Logo
            logo = create_logo_with_text(user_input, output_filename)
            
            # 显示Logo
            print(f"\n🎉 为您生成的 '{user_input}' Logo:")
            display_logo(logo, f"品牌Logo: {user_input}")
            
            # 询问是否继续
            print("\n是否继续生成其他Logo?(y/yes/继续 或 n/no/退出): ")
            continue_choice = input(">>> ").strip().lower()
            
            if continue_choice in ['n', 'no', '退出', 'exit']:
                print("\n感谢使用Logo生成器!期待再次为您服务!🌟")
                break
                
        except Exception as e:
            print(f"❌ 生成Logo时出现错误: {e}")
            print("请重试或联系技术支持。")
# 运行程序
if __name__ == "__main__":
    main()

运行结果: