印花集二维码
用 X、长条与方点重新组织二维码。在浏览器中完成精确排版与 PNG 导出,修改参数后自动更新。
内容与样式
二维码预览
纯黑背景 · PNG让文字成为一张印花
输入内容或修改样式,二维码将自动生成,完成后即可下载。
1. 编码矩阵。将原文按 UTF-8 字节编码,使用 H 级 Reed–Solomon 纠错,自动选择能够容纳内容的二维码版本。外围保留 4 格纯黑静区。仅三个角的 7×7 定位符单独处理,其他有效格子都参与结构排版。
2. 枚举五种结构。完整双对角线形成 X:2×2 为小 x,3×3 及以上为大 X;竖线至少 3 格、横线至少 2 格,其余可以为孤立点。尺寸选项只限制 X,线和点始终可用。“仅 3×3”同时排除小 x 与更大的 X。
3. 求最少结构。沿用 Python 的整数规划:每个有效格子恰好归属一个结构,X 包围盒彼此不重叠,也不能与竖线相交;横线可经过 X 包围盒内未归属 X 的格子。先最小化总结构数,再依次最大化大 X、竖线、横线、小 x 的覆盖格数。每一步锁定最优值后再进入下一步,独立连通分量分别求解。
4. 绘制形状。孤立点边长为(每格像素 − 1)/√2,与 X 端部旋转 45° 正方形的边长相同;X 格子不绘制底层方点。竖线末格分离为同色方点,统计仍归属原竖线。定位符和 X 使用更亮色,竖线使用亮色,横线使用暗色,点使用更暗色。X 最后绘制,始终位于最上层,形状均无圆角。
5. 定位符。完整外圈方案保留外圈和中心方块;四边短线方案保留中心 3×3 方块和四条 3×1 短边。标准宽度保留中央扫描线 1:1:3:1:1 的比例;孤立点宽度会收细轮廓与中心方块,可能降低识别率。
6. 自动生成与导出。参数停止变化 150 毫秒后开始生成,继续修改会终止上一项任务,仅展示最新结果。使用编码器选择的掩码完成排版后直接导出 PNG,不进行解码校验或轮换掩码。优化超时会明确报错,不把近似解标为最优。
默认使用四边短线定位符、全部五种结构及标准宽度。四种亮度从暗到亮为 64、112、238、255,通过同一条滑轨调整,滑块不可交叉。所有计算均在浏览器中完成,文字和图片不会上传。首次使用需要加载本站的 WebAssembly 引擎。
这里的“最优”针对当前编码矩阵与所选结构规则,不代表跨所有二维码掩码的全局最优。内容越长,候选结构越多,建议优先使用短链接。
生成过程不进行扫码验证。短线定位符及较暗颜色的兼容性较低;若目标设备无法识别,请提高暗色值、选择完整外圈定位符及标准宽度,再用目标设备验证。下载原始 PNG,避免截图、裁掉静区或有损压缩。