二维码生成和识别:size 参数与图片尺寸调优指南(1-10 / 16 / 20 / 30)
# 二维码生成和识别:size 参数与图片尺寸调优指南(1-10 / 16 / 20 / 30)
> 接口/接入点:二维码生成和识别(apiCode=887,生成接入点 887-1)· 是否免费:是 · 返回格式:JSON · 适用人群:关注二维码清晰度/尺寸的开发者 · 阅读时间:约 4 分钟
## 核心要点
- `size` 取值为 **1-10 的整数**,外加 content 极少时的 **16 / 20 / 30** 三个大号(非连续枚举,勿截断)。
- content 内容多建议 size < 5;内容少建议 size > 6。
- 偶数 size 的二维码边框比奇数略大;图片宽度 ≈ content 字节数 × size。
## Why:size 为什么值得专门调
二维码太大浪费流量、太小扫不出。size 不是"像素值"而是缩放系数,和 content 长度共同决定最终图片宽度。调错要么模糊要么臃肿。
## What:size 规则速览
| 取值 | 说明 |
|------|------|
| 1(最小)~ 10(最大) | 常规范围整数 |
| 16 / 20 / 30 | 大号,仅当 content 极少(如仅 1 字节)时使用 |
| 奇偶差异 | 偶数 size 边框比奇数略大 |
| 尺寸估算 | 图片宽度 ≈ content 字节数 × size |
可选参数:`size`(默认 8)、`imgExtName`(jpeg/jpg/png/gif,默认 jpg)。
## How:按内容长度选 size
```python
import requests
def gen(content, size="8"):
resp = requests.post(
"https://route.showapi.com/887-1",
params={"appKey": "YOUR_APPKEY"},
data={"content": content, "size": size, "imgExtName": "png"},
timeout=10,
)
return resp.json()["showapi_res_body"]
# 长链接(内容多)→ 用较小 size,避免图过大
print(gen("https://www.showapi.com/path?a=1&b=2&c=3&d=4", size="4"))
# 单字/短码(内容少)→ 用较大 size 或 16/20/30 大号
print(gen("A", size="20"))
```
```bash
curl -X POST "https://route.showapi.com/887-1?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
-d "content=https%3A%2F%2Fwww.showapi.com&size=4&imgExtName=png"
```
```javascript
const resp = await fetch("https://route.showapi.com/887-1?appKey=YOUR_APPKEY", {
method: "POST",
headers: { "content-type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({ content: "https://www.showapi.com", size: "4", imgExtName: "png" }),
});
console.log((await resp.json()).showapi_res_body);
```
## 推荐对照表
| content 情况 | 建议 size | 说明 |
|--------------|-----------|------|
| 长 URL / 多参数(>50 字节) | 3-5 | 内容多,小 size 控制图宽 |
| 普通 URL(20-50 字节) | 6-8 | 默认区间 |
| 短文本(几个字) | 7-10 | 内容少,大 size 更清晰 |
| 极短(1-2 字节) | 16 / 20 / 30 | 用大号,否则图太小 |
## 进阶 / 边界
- **偶数 vs 奇数**:偶数 size 边框略大,若对留白敏感可微调奇偶。
- **大号仅限极少内容**:16/20/30 是为"内容只有 1 字节"这类极端场景准备的,长内容用大号会生成超大图。
- **宽度估算仅供参考**:实际像素受 content 编码密度影响,"≈ 字节数×size"是文档给出的经验值。
## FAQ
**Q1:size 是像素吗?**
A:不是。它是缩放系数,最终宽度 ≈ content 字节数 × size。
**Q2:能不能用小数或 11-15?**
A:文档明确范围为整数 1-10,外加 16/20/30;11-15 不在文档枚举内,不建议使用。
**Q3:想要最高清用多少?**
A:内容多时用 10 仍可能偏密;内容极少用 30 大号最清晰。
**Q4:size 影响识别成功率吗?**
A:间接影响——图太小/太密会降低扫码成功率,按上表选合适 size 即可。
## 相关能力 / 下一步阅读
- [二维码生成和识别:5 分钟接入,从注册到生成第一个二维码](https://www.showapi.com/guides/qrcode-quickstart-887)
- [二维码生成和识别:批量生成二维码的全链路设计](https://www.showapi.com/guides/qrcode-batch-generate-887)
- [二维码生成和识别:10 个实战避坑清单(100KB 上限 / 12h 清理 / 格式)](https://www.showapi.com/guides/qrcode-best-practices-887)
- **本系列共 12 篇**:查看[二维码生成和识别指南总目录](https://www.showapi.com/guides/qrcode-guides-887)