项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-11-03 · 当前星标 ★ 1273
使用教程
环境要求
- Ruby 2.6 或更高版本
- Ruby 自带的 gem 包管理器
- 如需从源码跑测试,需安装 Bundler 与 rake
- 依赖 color gem,1.x 与 2.x 版本均支持
安装与启动步骤
-
1检查 Ruby 版本
GeoPattern 要求 Ruby 2.6 或更高,先确认本机版本满足要求再安装。
ruby -v -
2安装 gem
用 gem 命令全局安装 geo_pattern,即可在任意 Ruby 脚本中引用。
gem install geo_pattern -
3用 Bundler 安装
已有 Ruby 项目时,先在 Gemfile 中添加 gem 'geo_pattern',再执行安装。
bundle install -
4生成第一个图案
调用 GeoPattern.generate 传入字符串,再用 to_svg 取得 SVG 字符串内容。
ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown').to_svg" -
5自定义颜色
base_color 指定基色并自动调整色相饱和度;color 则直接固定背景色。
ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown', base_color: '#fc0').to_svg" -
6指定图案类型
patterns 可传单个图案符号,也可传符号数组限定可选的图案范围。
ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown', patterns: :sine_waves).to_svg" -
7运行自带测试
在源码仓库目录下运行测试,确认安装和运行环境正常。
bundle exec rake test
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
base_color | 否 | 指定基色,色相与饱和度会按字符串哈希自动偏移 | #fc0 |
color | 否 | 固定背景色,不再做色相与饱和度调整 | #fc0 |
patterns | 否 | 指定图案生成器,可传单个符号或符号数组 | :sine_waves |
如何确认成功
执行 ruby 命令后终端输出以 <svg 开头的字符串即成功;也可重定向保存为 .svg 文件用浏览器打开查看。
常见问题
Q:同一字符串每次生成的图案一样吗?
A:一样。字符串被转成 SHA 哈希,颜色、图案类型和元素尺寸都由哈希值决定,相同输入与参数始终得到相同 SVG。
Q:base_color 和 color 有什么区别?
A:base_color 会在该基色上按哈希偏移色相和饱和度;color 则直接使用指定背景色,不做任何偏移调整。
Q:生成的图案能用作网页背景吗?
A:可以把它作为容器的 background-image,使用 base64 形式内嵌仍是 SVG 渲染,在高分屏上依然清晰。
Q:这个项目还在维护吗?
A:README 说明项目已基本停止维护,仅接受 PR 维持可用,安装与使用不受影响,但生产使用前建议自行验证兼容性。
注意事项
- README 明确说明项目已基本停止维护,只接受 PR 保持可用,长期项目请评估替代方案。
- 图案类型与元素尺寸同样由字符串哈希决定,只有显式传入 patterns 时才会覆盖默认选择。
- 输出为 SVG 矢量图,可无损缩放,适合做头像底图、卡片背景或占位图。
核心亮点
- 相同字符串始终生成相同图案,适合做用户或内容的稳定视觉标识
- 输出 SVG 矢量格式,任意缩放不失真,便于网页和印刷场景使用
- 内置多种几何图案类型,并支持自定义颜色与尺寸,开箱即用
不足之处
- 仅提供 Ruby 实现,非 Ruby 技术栈的项目接入成本较高
- 图案风格偏固定几何审美,定制深度有限,复杂设计需求需自行扩展
适用场景
- 为用户名或邮箱生成专属头像背景图
- 为博客文章或卡片生成确定性封面底图
- 在服务端批量生成占位图或视觉标识
替代项目
Trianglify、geopattern、Identicon
同类项目推荐
autoshade
开源
让 GPT 出调色配方,Rust 引擎稳定渲染 RAW
AI-assisted RAW photo developer: GPT vision advisor proposes an EditRecipe, a determ···
AnyControl
开源
多条件自由组合,一张图全满足你的控制需求
[ECCV 2024] AnyControl, a multi-control image synthesis model that supports any comb···
vpype
开源
命令行处理绘图矢量,优化路径,让绘图更高效。
The Swiss-Army-knife command-line tool for plotter vector graphics.
infinite-zoom-automatic1111-webu···
开源
一键生成无限缩放视频,让 AI 绘画动起来
infinite zoom effect extension for AUTOMATIC1111's webui - stable diffusion
AI-Image-PromptGenerator
开源
一键生成创意提示词,让AI绘画灵感不断
A flexible UI script to help create and expand on prompts for generative AI art mode···
particle-guidance
开源
让扩散模型一次生成多样不重复的图像集合
Implementation of Particle Guidance: non-I.I.D. Diverse Sampling with Diffusion Mode···
esse
开源
在 Codex 里直接生成和编辑图片,不用切工具
面向 Codex 和 ChatGPT Work 的本地图片生成与编辑工作台 · Local image generation and ···
ReNoise-Inversion
开源
让真实图像精准反演,编辑更自然可控
Officail Implementation for "ReNoise: Real Image Inversion Through Iterative Noising···
text-to-image
开源
用一句话描述,GAN模型生成对应图像
Text to Image Synthesis using Generative Adversarial Networks
