数字油画生成器

选择照片和颜色数。您会得到可打印的轮廓图(每个区域都有编号)、颜色预览,以及附十六进制色码的色板。运算在您的浏览器中进行。

免费 在浏览器中运行 核对于2026年11月10日星期二

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 点击 选择照片,或把图片拖到方框中。照片在您的设备上读取。
  2. 选择 颜色数。六到十种颜色适合大多数照片;颜色越多,细节越多,需要购买的颜料也越多。
  3. 选择 最小区域,然后点击 生成图稿。大图片可能需要一分钟。
  4. 读取 色板,然后用 下载轮廓图(PNG) 保存轮廓图以便打印,或用其旁边的按钮保存颜色预览。

图稿如何生成

每个像素都会通过 CIE L*a*b* 颜色空间中的 k-means 聚类,与颜色相近的像素归为一组。L*a*b* 中的距离与人眼的感觉相符。初始分组采用 k-means++ 方法,并使用固定的随机种子,因此同一张照片总能得到同一幅图稿。

随后,细小区域会并入与其共享边界最长的相邻区域,使图稿上不存在过于细小、无法上色的斑点。同一颜色的每个连通区域即为一个区域。颜色按出现频率从多到少编号,每个区域取其颜色的编号。轮廓沿区域的边缘画出。

颜色:CIE L*a*b* 中的 k-means,颜色数为您所选的数目
细小区域:并入共享边界最长的相邻区域
编号位置:离其区域每条边都最远的像素
  • 图稿由不超过长边800像素的副本生成;轮廓按其两倍的尺寸画出,因此打印清晰。
  • 每个区域的编号用距离变换放置。距离变换给出每个像素到最近边缘的距离,编号放在该距离最大的位置。

打印与上色

打印轮廓图,然后用编号对应的颜料填涂每个区域。1号是最常见的颜色,覆盖的面积最大;在一种颜色接触下一种颜色之前,请先让它干透。

过窄、写不下编号的区域会不带编号。要为更多区域编号,请选择更大的最小区域或更少的颜色;要保留更多细节,请选择精细设置,并接受更多狭窄的区域。

计算示例:一半红色、一半蓝色

一张 20 × 10像素的图片,左半为红、右半为蓝,颜色数为2,得到两个各100像素的区域。轮廓是中间的一条线:每行一个像素,共十个。

每个区域的编号放在它最宽的位置。在红色一半中,最宽处距每条边都是四个像素,位于 (4, 4);在蓝色一半中位于 (14, 4),同样距边缘四个像素。

项目 结果
区域 2
轮廓像素 10,每行一个
编号位置 (4, 4) 和 (14, 4)
色板 #FF0000与 #0000FF,各100像素

常见问题

为什么有的区域没有编号?

比编号还窄的区域写不下数字,因此图稿让它不带编号。请选择更大的最小区域或更少的颜色,使每个区域都足够宽,能容纳它的编号。

为什么每次的结果都相同?

颜色从固定的起点分组,因此同一张照片、同样的颜色数和最小区域,总会得到同样的图稿和色板。

应该选择多少种颜色?

六到十种颜色适合大多数照片,并使图稿易于辨认。儿童的图稿可以用较少的颜色,细致的照片则可以用更多颜色,但要记住每种颜色都是一种需要购买的颜料。

我的照片会被上传吗?

不会。照片由您的浏览器读取,图稿由您设备上的工作脚本生成。任何内容都不会发送给我们;如果处理时间超过一分钟,工作就会停止。

最小区域是什么设置?

它是作为独立区域保留的最小面积,以占图片的比例表示。较小的区域会并入相邻区域,使图稿更容易上色。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。