精灵图描边工具
给一张或者两百张精灵图加上像素描边和投影。可以选拐角要不要填满、 画布尺寸保持不变还是跟着变大,处理完打包带走。 免费、无需注册,所有像素都留在你的浏览器里。
不会上传任何文件——每一张都在你的浏览器里重绘。
怎么给一批精灵图加描边
三个设置,其中一个决定了拐角长什么样。
- 1把图拖进来一个文件或者整个文件夹都行。图必须是透明背景的—— 描边沿着轮廓边缘走,而一张贴在不透明矩形上的精灵, 它的轮廓就是那个矩形。
- 2选拐角样式十字让斜角留空,方形把它填上。在 1 像素粗细下对比一下,差别很明显。
- 3决定画布能不能变大散装精灵图开着,必须留在图集网格上的帧关掉。
- 4下载一张就直接出 PNG,多张打包成 ZIP,文件名会保留。
十字还是方形:唯一有意思的那个决定
描边就是把轮廓往外长一步,而「一步」有两种都说得通的含义。 往上下左右四个邻居长,形状的斜角就留着没盖住—— 两条边成直角相交的地方,描边会有一个缺口。往八个邻居长,缺口就填上了。
1 像素的描边,多数像素画作者要的是十字。 方形版本会在拐角处斜着放两个像素的描边,而其余部分只有一个像素厚, 于是整个框在拐角处看起来更粗一点—— 而那里本来就是眼睛在读硬边的地方。十字能让粗细保持均匀。
到了 2 像素以上结论会反过来:十字长出来的 3 像素描边是个看得出来的菱形, 方形版本才保持方正。两个都试试——只是一次点击, 而且预览里是你手上这张图,不是教程里那张。
扩大画布,以及什么时候不该扩
外侧描边需要有地方可去。如果精灵已经贴到了图片的边缘, 那个地方就不存在,描边会沿着那条边被直接裁掉—— 而那看起来通常像 bug,不像一个决定。
所以「扩大画布」默认开着: 画布在每一边加上描边的粗细、在投影落下的方向加上投影的偏移,什么都不会丢。
尺寸本身有意义的时候就关掉它。 从精灵图里切出来的帧还要放回同一个网格;图标必须保持 32×32; 地块必须能拼。这些情况下的正确做法不是把图放大, 而是把精灵画小一个像素,给描边留出余地—— 或者用内侧描边,它根本不改变尺寸。
什么时候用得上
在杂乱背景上看得清
精灵陷进地图里看不清,加一圈深色描边是标准解法。 而且它也是重画之前最值得先试一下的东西。
一整套素材一次搞定
在编辑器里手工给四十张图描边,是把同样六次点击重复四十遍。 这里是同样六次点击,一遍。
定案之前先试试看
描边颜色、粗细、拐角样式在这里都只隔一次点击, 而且完全不动你的原始文件。
要能放在任何底色上的 UI 图标
描边加一层柔和投影,能让图标在浅色和深色背景上都看得清, 不用做两套素材。
描边之前先看这三条
检查 alpha。描边会沿着轮廓的每一条边走,包括洞的内壁。 如果精灵内部某处出现了描边,那里就有一片透明或接近透明的区域—— 不管你想不想要那个描边,这件事本身值得知道。
先描边再放大,别反过来。1 像素的描边放大 4 倍就是 4 像素的描边。 如果这张图之后要放大,要么放大之后再描边,要么交给引擎在绘制时缩放。像素画缩放工具按整数倍、用邻近采样缩放,两种顺序下都能让描边保持均匀。
描的是帧,不是整张图集。直接对整张精灵图集跑这个工具,它会把图集的全部内容当成一个轮廓来描, 连帧与帧之间的空隙也会被描上。先把图集切开,给帧描边,再重新打包。
常见问题
为什么我的描边拐角看着不对劲?
那是「拐角」这个设置。只往上下左右四个方向长,形状的斜角处就会留空,看起来像圆角;往八个方向长就把斜角填满,看起来像方角。两种都不是 bug——1 像素的描边通常该用十字,因为方形版本恰恰在拐角处变粗,而那里本来就是眼睛在读硬边的地方。
描边会改变精灵图的尺寸吗?
外侧描边每一边都需要一个像素的空间,所以开着「扩大画布」的话图会相应变大。关掉的话尺寸完全不变,超出边界的描边会被裁掉。必须留在图集网格上的帧就该关掉它。
内侧描边是干什么用的?
它把描边画在精灵自己的边缘像素上,而不是画在外面,所以轮廓尺寸完全不变。适合画面本来就填满了整个画框的情况,也适合那种「描边替换掉最外一圈颜色」的硬边缘光效果。
能一次处理整个文件夹吗?
可以——想拖多少个文件就拖多少,或者直接选一个文件夹,每一张都会用同一套设置处理。上限两百张,打包成 ZIP 下载。只有一张的话就直接下载 PNG。
投影是跟着描边还是跟着精灵?
跟着描边。投影是由你看得见的那个形状投出来的,也就是精灵加上它的描边——如果跟着裸精灵,投影会从自己的描边底下露出来,而调整先后顺序正是为了避免这个瑕疵。
为什么精灵内部也出现了我不想要的描边?
那里有透明或者接近透明的像素。描边会沿着轮廓的每一条边走,包括洞的内壁。如果那个洞本来就该在,这个描边就是对的;如果它来自一片你并不知道存在的半透明区域,那说明那块的 alpha 和你以为的不一样。
图片会被上传到服务器吗?
不会。每一张精灵图都是用浏览器的 Canvas API 在本地解码和重绘的。没有任何数据离开你的电脑,页面加载完之后断网也照样能用。