geo_pattern

输入一段字符串,生成可复现的几何背景图

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 图像生成 🍴 复刻 87 🐛 待处理 1 👀 关注 18
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1273
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费

项目预览

geo_pattern 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类图像生成
开发团队jasonlong
定价模式🏷️完全免费
价格说明开源免费
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Ruby
技术栈/模型generative,procedural,ruby,visualization
GitHub 星标★ 1273
上线时间2014-01-27 00:00:00
代码更新2026-10-21
仓库体积1.7 MB
本站数据更新2026-11-03
维护状态较活跃
收录时间2026-11-03
浏览次数0

项目介绍

geo_pattern 是一个 Ruby 库,可根据任意字符串确定性地生成几何图案背景图,相同输入始终得到相同图案。它解决的是为应用快速提供稳定、可复现的视觉标识问题,例如用用户名、文章标题或哈希值生成专属头像底图、卡片背景或占位图。核心能力包括:基于字符串哈希驱动图案参数,内置多种几何图案类型(如重叠圆、三角形、波浪、马赛克等),支持自定义颜色、尺寸与图案样式,输出 SVG 矢量图,便于无损缩放和嵌入网页。项目以 Ruby 实现,API 简洁,适合在 Rails 等服务端场景中直接调用,无需外部图像服务。由于图案由算法生成而非随机图片,同一标识在多次渲染中保持一致,适合做用户身份或内容指纹的视觉化表达。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-11-03 · 当前星标 ★ 1273

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Ruby 2.6 或更高版本
  • Ruby 自带的 gem 包管理器
  • 如需从源码跑测试,需安装 Bundler 与 rake
  • 依赖 color gem,1.x 与 2.x 版本均支持

安装与启动步骤

  1. 1检查 Ruby 版本

    GeoPattern 要求 Ruby 2.6 或更高,先确认本机版本满足要求再安装。

    ruby -v
  2. 2安装 gem

    用 gem 命令全局安装 geo_pattern,即可在任意 Ruby 脚本中引用。

    gem install geo_pattern
  3. 3用 Bundler 安装

    已有 Ruby 项目时,先在 Gemfile 中添加 gem 'geo_pattern',再执行安装。

    bundle install
  4. 4生成第一个图案

    调用 GeoPattern.generate 传入字符串,再用 to_svg 取得 SVG 字符串内容。

    ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown').to_svg"
  5. 5自定义颜色

    base_color 指定基色并自动调整色相饱和度;color 则直接固定背景色。

    ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown', base_color: '#fc0').to_svg"
  6. 6指定图案类型

    patterns 可传单个图案符号,也可传符号数组限定可选的图案范围。

    ruby -e "require 'geo_pattern'; puts GeoPattern.generate('Mastering Markdown', patterns: :sine_waves).to_svg"
  7. 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

上一篇:nQuantCpp

下一篇:mflux

同类项目推荐

autoshade 开源

让 GPT 出调色配方,Rust 引擎稳定渲染 RAW

AI-assisted RAW photo developer: GPT vision advisor proposes an EditRecipe, a determ···

★ 1261 2026-10-15
AnyControl 开源

多条件自由组合,一张图全满足你的控制需求

[ECCV 2024] AnyControl, a multi-control image synthesis model that supports any comb···

★ 132 2026-08-09
vpype 开源

命令行处理绘图矢量,优化路径,让绘图更高效。

The Swiss-Army-knife command-line tool for plotter vector graphics.

★ 981 2026-08-09
AI-Image-PromptGenerator 开源

一键生成创意提示词,让AI绘画灵感不断

A flexible UI script to help create and expand on prompts for generative AI art mode···

★ 245 2026-08-09
particle-guidance 开源

让扩散模型一次生成多样不重复的图像集合

Implementation of Particle Guidance: non-I.I.D. Diverse Sampling with Diffusion Mode···

★ 78 2026-08-09
esse 开源

在 Codex 里直接生成和编辑图片,不用切工具

面向 Codex 和 ChatGPT Work 的本地图片生成与编辑工作台 · Local image generation and ···

★ 100 2026-09-16
ReNoise-Inversion 开源

让真实图像精准反演,编辑更自然可控

Officail Implementation for "ReNoise: Real Image Inversion Through Iterative Noising···

★ 263 2026-08-09
text-to-image 开源

用一句话描述,GAN模型生成对应图像

Text to Image Synthesis using Generative Adversarial Networks

★ 78 2026-08-09