调色板提取指南
从 JPG、PNG、WebP、AVIF、GIF、BMP 或 TIFF 图像中提取主色调。获取每种颜色的 HEX 和 RGB 代码。所有提取过程均在您的浏览器中本地完成。
从 JPG、PNG、WebP、AVIF、GIF、BMP 或 TIFF 图像中提取主色调。获取每种颜色的 HEX 和 RGB 代码。所有提取过程均在您的浏览器中本地完成,无需上传至任何服务器。
您需要准备什么
浏览器 — 支持 OffscreenCanvas 的 Chrome、Firefox、Safari 或 Edge 格式 — JPG、JPEG、PNG、WEBP、AVIF、GIF、BMP 或 TIFF 限制 — 每个文件 20 MB(超过 20 MB 的文件将被拒绝) 账户 — 无需注册 网络 — 页面加载后无需联网
提取调色板
在浏览器中打开调色板生成器。将图像文件从文件资源管理器拖放到上传区域。或者,点击上传区域从设备中选择文件。上传前请确认文件大小在 20 MB 以内,超过此限制的文件将被拒绝。选择要提取的颜色数量:5、8、10 或 12。颜色数量越少,调色板越简洁易用。颜色数量越多,捕捉到的细微差别就越多,但可能会包含视觉上不明显的细微差异。点击提取按钮。量化算法会在您的浏览器中处理图像的像素数据。它通过 k-means 聚类算法根据颜色相似度对像素进行分组,并计算每个聚类的平均颜色。没有任何数据通过网络传输。查看提取出的调色板。每种颜色都以色块形式显示,并附带 HEX 代码和 RGB 值。点击任意颜色代码即可将其复制到剪贴板。您可以将这些代码用于设计、CSS 或打印项目。
工作原理
调色板生成器使用 OffscreenCanvas 元素和颜色量化算法来提取主色调。当您上传图像时,浏览器通过 File API 直接将其读取到内存中,不会发生服务器上传。
libvips 使用 OffscreenCanvas 创建离屏画布,并通过 drawImage 以原始分辨率绘制您的图像。然后,它使用 getImageData 将像素数据读取为 RGBA 数组,该数组包含图像中每个像素的红、绿、蓝和 alpha 值。对于 1920x1080 的图像,这会产生大约 800 万个独立的颜色值。
量化算法使用 k-means 聚类根据颜色相似度对像素进行分组。它初始化 k 个聚类中心(k 等于您选择的调色板大小),然后根据 RGB 空间中的欧几里得距离,迭代地将每个像素分配给最近的聚类中心。在每次分配后,它会重新计算每个聚类中心作为该聚类中所有像素的数学平均值。此过程重复进行,直到中心稳定或达到最大迭代次数。结果是一组代表性的颜色,捕捉了图像的视觉特征。
每种颜色都以色块形式显示,并附带 HEX 代码和 RGB 值。libvips 对每个聚类的精确质心颜色进行采样,确保显示的色块准确代表该组中所有像素的数学平均值。
文件完全在您的浏览器中使用 OffscreenCanvas 进行处理。它们绝不会被上传到 ConvertCraft 服务器。
遇到问题时
图像上传失败:您的图像超过了 20 MB 的限制。OffscreenCanvas 在严格的内存限制内运行。处理超过 20 MB 的图像需要 RAM 中存在大量的未压缩像素缓冲区,这可能会导致浏览器标签页崩溃。
调色板包含相似颜色:图像具有算法视为不同聚类的细微颜色变化。减少调色板大小以获得更少、更明显的颜色。
颜色与我看到的颜色不匹配:该算法提取的是数学平均值。颜色之间的感知差异可能与视觉感知不一致。尝试不同的调色板大小或使用吸管工具选取特定像素。
调色板大多是一种颜色:您的图像由单一颜色主导。该算法忠实地呈现了图像的颜色分布。尝试使用色彩更丰富的图像。
### 我可以提取多少种颜色?
该工具支持提取 5、8、10 或 12 种颜色。颜色数量越少,调色板越简洁。颜色数量越多,捕捉到的细微差别就越多,但可能会包含视觉上不明显的细微差异。
### 我可以从特定区域提取颜色吗?
当前版本分析的是整个图像。要从特定区域提取颜色,请先使用图像转换器或专用裁剪工具裁剪图像,然后上传裁剪后的版本。
### 提取私人图像的颜色安全吗?
是的。文件完全在您的浏览器中使用 OffscreenCanvas 进行处理。它们绝不会被上传到 ConvertCraft 服务器。您的图像数据永远不会离开您的计算机,从而完全避免了网络拦截或服务器端日志记录。
Frequently Asked Questions
Q: Palette Extractor 是如何工作的?
Palette Extractor 使用 WebAssembly 完全在您的浏览器中处理文件。您的文件永远不会离开您的设备。
Q: Palette Extractor 可以免费使用吗?
是的,Palette Extractor 完全免费,无需注册或创建账户。