头图

如何30分钟做了个ambigram generator

大家好,我最近对ambigram(对称文字)产生了浓厚兴趣。简单来说,ambigram就是一种可以上下颠倒阅读,或者从不同角度看都能读出有意义文字的艺术字体设计。比如下面这种:

颠倒180度后依然可以含义一致。

灵感来源

我一直觉得这种字体设计很酷,看到网上有一些现成的对称字体,就想着做一个简单的生成器,让大家都能轻松制作ambigram。

技术选型

考虑到是个简单的小工具,技术选型也很简单:

  • 前端: React + SVG
  • 字体: 使用现成的对称字体
  • 后端: FastAPI

核心实现思路

  1. 收集和整理了一些现成的对称字体
  2. 将用户输入的文字应用对称字体渲染
  3. 导出为SVG格式方便使用

关键代码片段:

function renderAmbigram(text, font) {
    // 应用选择的对称字体
    const textPath = document.createElement('text');
    textPath.style.fontFamily = font;
    textPath.textContent = text;
    
    // 转换为SVG
    return convertToSVG(textPath);
}

成果展示

我把这个工具做成了一个在线生成器: Ambigram Generator

任何人都可以输入文字,选择喜欢的对称字体,一键生成ambigram效果。下面是几个生成样例:

未来计划

  1. 收集更多对称字体
  2. 添加字体预览功能
  3. 支持自定义颜色和大小

技术心得

  1. 有时候简单的解决方案反而更实用
  2. 好的字体资源很重要
  3. 用户体验要放在第一位

结语

30分钟就能做出一个实用的小工具,关键是要找到合适的切入点。欢迎大家访问在线生成器试用,也欢迎提出改进建议!


928380504
1 声望0 粉丝