如何30分钟做了个ambigram generator
大家好,我最近对ambigram(对称文字)产生了浓厚兴趣。简单来说,ambigram就是一种可以上下颠倒阅读,或者从不同角度看都能读出有意义文字的艺术字体设计。比如下面这种:
颠倒180度后依然可以含义一致。
灵感来源
我一直觉得这种字体设计很酷,看到网上有一些现成的对称字体,就想着做一个简单的生成器,让大家都能轻松制作ambigram。
技术选型
考虑到是个简单的小工具,技术选型也很简单:
- 前端: React + SVG
- 字体: 使用现成的对称字体
- 后端: FastAPI
核心实现思路
- 收集和整理了一些现成的对称字体
- 将用户输入的文字应用对称字体渲染
- 导出为SVG格式方便使用
关键代码片段:
function renderAmbigram(text, font) {
// 应用选择的对称字体
const textPath = document.createElement('text');
textPath.style.fontFamily = font;
textPath.textContent = text;
// 转换为SVG
return convertToSVG(textPath);
}
成果展示
我把这个工具做成了一个在线生成器: Ambigram Generator。
任何人都可以输入文字,选择喜欢的对称字体,一键生成ambigram效果。下面是几个生成样例:
未来计划
- 收集更多对称字体
- 添加字体预览功能
- 支持自定义颜色和大小
技术心得
- 有时候简单的解决方案反而更实用
- 好的字体资源很重要
- 用户体验要放在第一位
结语
30分钟就能做出一个实用的小工具,关键是要找到合适的切入点。欢迎大家访问在线生成器试用,也欢迎提出改进建议!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。