Toolkitly

精灵图描边工具

给一张或者两百张精灵图加上像素描边和投影。可以选拐角要不要填满、 画布尺寸保持不变还是跟着变大,处理完打包带走。 免费、无需注册,所有像素都留在你的浏览器里。

不会上传任何文件——每一张都在你的浏览器里重绘。

怎么给一批精灵图加描边

三个设置,其中一个决定了拐角长什么样。

  1. 1把图拖进来一个文件或者整个文件夹都行。图必须是透明背景的—— 描边沿着轮廓边缘走,而一张贴在不透明矩形上的精灵, 它的轮廓就是那个矩形。
  2. 2选拐角样式十字让斜角留空,方形把它填上。在 1 像素粗细下对比一下,差别很明显。
  3. 3决定画布能不能变大散装精灵图开着,必须留在图集网格上的帧关掉。
  4. 4下载一张就直接出 PNG,多张打包成 ZIP,文件名会保留。

十字还是方形:唯一有意思的那个决定

描边就是把轮廓往外长一步,而「一步」有两种都说得通的含义。 往上下左右四个邻居长,形状的斜角就留着没盖住—— 两条边成直角相交的地方,描边会有一个缺口。往八个邻居长,缺口就填上了。

1 像素的描边,多数像素画作者要的是十字。 方形版本会在拐角处斜着放两个像素的描边,而其余部分只有一个像素厚, 于是整个框在拐角处看起来更粗一点—— 而那里本来就是眼睛在读硬边的地方。十字能让粗细保持均匀。

到了 2 像素以上结论会反过来:十字长出来的 3 像素描边是个看得出来的菱形, 方形版本才保持方正。两个都试试——只是一次点击, 而且预览里是你手上这张图,不是教程里那张。

扩大画布,以及什么时候不该扩

外侧描边需要有地方可去。如果精灵已经贴到了图片的边缘, 那个地方就不存在,描边会沿着那条边被直接裁掉—— 而那看起来通常像 bug,不像一个决定。

所以「扩大画布」默认开着: 画布在每一边加上描边的粗细、在投影落下的方向加上投影的偏移,什么都不会丢。

尺寸本身有意义的时候就关掉它。 从精灵图里切出来的帧还要放回同一个网格;图标必须保持 32×32; 地块必须能拼。这些情况下的正确做法不是把图放大, 而是把精灵画小一个像素,给描边留出余地—— 或者用内侧描边,它根本不改变尺寸。

什么时候用得上

在杂乱背景上看得清

精灵陷进地图里看不清,加一圈深色描边是标准解法。 而且它也是重画之前最值得先试一下的东西。

一整套素材一次搞定

在编辑器里手工给四十张图描边,是把同样六次点击重复四十遍。 这里是同样六次点击,一遍。

定案之前先试试看

描边颜色、粗细、拐角样式在这里都只隔一次点击, 而且完全不动你的原始文件。

要能放在任何底色上的 UI 图标

描边加一层柔和投影,能让图标在浅色和深色背景上都看得清, 不用做两套素材。

描边之前先看这三条

检查 alpha。描边会沿着轮廓的每一条边走,包括洞的内壁。 如果精灵内部某处出现了描边,那里就有一片透明或接近透明的区域—— 不管你想不想要那个描边,这件事本身值得知道。

先描边再放大,别反过来。1 像素的描边放大 4 倍就是 4 像素的描边。 如果这张图之后要放大,要么放大之后再描边,要么交给引擎在绘制时缩放。像素画缩放工具按整数倍、用邻近采样缩放,两种顺序下都能让描边保持均匀。

描的是帧,不是整张图集。直接对整张精灵图集跑这个工具,它会把图集的全部内容当成一个轮廓来描, 连帧与帧之间的空隙也会被描上。先把图集切开,给帧描边,再重新打包。

常见问题

为什么我的描边拐角看着不对劲?

那是「拐角」这个设置。只往上下左右四个方向长,形状的斜角处就会留空,看起来像圆角;往八个方向长就把斜角填满,看起来像方角。两种都不是 bug——1 像素的描边通常该用十字,因为方形版本恰恰在拐角处变粗,而那里本来就是眼睛在读硬边的地方。

描边会改变精灵图的尺寸吗?

外侧描边每一边都需要一个像素的空间,所以开着「扩大画布」的话图会相应变大。关掉的话尺寸完全不变,超出边界的描边会被裁掉。必须留在图集网格上的帧就该关掉它。

内侧描边是干什么用的?

它把描边画在精灵自己的边缘像素上,而不是画在外面,所以轮廓尺寸完全不变。适合画面本来就填满了整个画框的情况,也适合那种「描边替换掉最外一圈颜色」的硬边缘光效果。

能一次处理整个文件夹吗?

可以——想拖多少个文件就拖多少,或者直接选一个文件夹,每一张都会用同一套设置处理。上限两百张,打包成 ZIP 下载。只有一张的话就直接下载 PNG。

投影是跟着描边还是跟着精灵?

跟着描边。投影是由你看得见的那个形状投出来的,也就是精灵加上它的描边——如果跟着裸精灵,投影会从自己的描边底下露出来,而调整先后顺序正是为了避免这个瑕疵。

为什么精灵内部也出现了我不想要的描边?

那里有透明或者接近透明的像素。描边会沿着轮廓的每一条边走,包括洞的内壁。如果那个洞本来就该在,这个描边就是对的;如果它来自一片你并不知道存在的半透明区域,那说明那块的 alpha 和你以为的不一样。

图片会被上传到服务器吗?

不会。每一张精灵图都是用浏览器的 Canvas API 在本地解码和重绘的。没有任何数据离开你的电脑,页面加载完之后断网也照样能用。

相关教程

相关工具