九宫格切图
在浏览器本地把一张图切成宫格小图:支持 3×3 九宫格、2×2 四宫格、3×2、4×4 等组合,切完逐张下载,按顺序发出去就是完整的九宫格排版。全程本地处理,图片不经过任何服务器。
朋友圈和微博都认九宫格的仪式感:一张全景图切成九块,按顺序发出去就是完整排版。三乘三、四宫格、四乘四随你选,尺寸除不尽时余数自动归入边格,九块严丝合缝;图源选主体居中的效果最好,贴边的人脸文字可能被切开,发布前先预览每格。
口径提醒:图片尺寸不能被行列数整除时,余数像素由最后一行/列的格子向内吸收,九块仍能无缝拼回原图;切出的统一是 PNG 无损格式(JPG 源图体积会变大,可再走图片压缩);主体居中、四周留白的照片效果最好,人脸或文字贴边可能被切开,发布前先预览每格。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 选图,选宫格规格(默认 3×3)。
- 点「开始切图」,看每格的像素尺寸。
- 按编号顺序逐张下载。
- 发朋友圈从左到右、从上到下依次选图。
计算原理与示例
怎么切九宫格
选图后选宫格规格(默认 3×3),点「开始切图」,下方会给出每格的像素尺寸,切好的九张图逐张下载即可;建议按编号顺序发布。
除不尽的像素去哪了
图片宽或高不能被行数/列数整除时,余数像素由最后一行/列的格子向内吸收,保证九块无缝拼回原图、没有黑边或空隙。
切完怎么发才有整图效果
发朋友圈时务必按从左到右、从上到下的顺序选图发布(微信按选择顺序排列);九张图之间不加文字说明,整图效果才完整。
什么样的图适合切
主体居中、四周留白多的照片切出来效果最好;人脸或文字贴边的图切开后可能被分割,切之前先预览每格内容再发布。
代码示例
JavaScript 九宫格切图(末行末列吸收余数)
// 关键点:宽高除不尽时,末尾几格多分几像素,否则会丢边或留白
function gridCut(img, rows, cols) {
const tileW = Math.floor(img.width / cols);
const tileH = Math.floor(img.height / rows);
const tiles = [];
for (let r = 0; r < rows; r++) {
for (let c = 0; c < cols; c++) {
const x = c * tileW;
const y = r * tileH;
// 最后一列 / 最后一行吃掉余数
const w = c === cols - 1 ? img.width - x : tileW;
const h = r === rows - 1 ? img.height - y : tileH;
const canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
canvas.getContext('2d').drawImage(img, x, y, w, h, 0, 0, w, h);
tiles.push({ row: r + 1, col: c + 1, canvas });
}
}
return tiles;
}
Python Pillow 切格
from PIL import Image
img = Image.open('photo.jpg')
rows, cols = 3, 3
tile_w, tile_h = img.width // cols, img.height // rows
for r in range(rows):
for c in range(cols):
x, y = c * tile_w, r * tile_h
w = img.width - x if c == cols - 1 else tile_w
h = img.height - y if r == rows - 1 else tile_h
img.crop((x, y, x + w, y + h)).save(f'tile-{r + 1}-{c + 1}.jpg', quality=92)
常见问题
切图时图片会上传到服务器吗?
不会。切分坐标的计算与像素裁剪都在你的浏览器里完成,九张小图生成后直接进入下载,全程不出本机,关掉页面数据就没了。
为什么每格尺寸不是整数相等的?
当图片尺寸不能被行列数整除时(例如 1080×1920 切 3 行,每行 640 像素整除无余;但 320 高切 3 行每行 106 像素余 2),余数像素被最后一行/列的格子吸收,整体仍然无缝。
能切 2×2 或 4×4 吗?
可以。行列数各支持 2~6,自由组合出 2×2 四宫格、3×2 六宫格、4×4 十六宫格等规格;朋友圈排版最常用的是 3×3。
切出来的小图是什么格式?
统一输出 PNG 位图,无损且所有平台都支持。源图是 JPG 时会先解码再以 PNG 存,体积略大但画质无损;介意体积可以再走本站的图片压缩工具。
发到朋友圈顺序乱了怎么办?
微信按你点选的先后顺序排列图片。建议每张图的文件名自带序号(本工具下载时已编号),对照编号依次选中即可;发错只能删除重发。
超大图片能切吗?
建议单张在 30 MB 以内、边长 8000 像素以内。更大的图受设备内存限制可能解码失败,可先用系统工具缩小后再切,切成九格后每格分辨率依然够用。
和裁剪是一回事吗?
不是。裁剪是把图缩成一块,宫格切图是把一整张等分成多块且拼回仍为原图;两者不冲突,先裁好构图再来切九宫格是常见做法。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。