简体中文

图像和照片·社交图像调整器

重采样滤波器说明:最近、双线性、双三次和 Lanczos

· 背景

图像大小调整 重采样 画布

命名过滤器图以仅标记有平滑和质量提示的浏览器框结尾
原始 ToolAcre 矢量图

每次调整大小都必须决定新像素应该与旧像素相比是什么颜色:最近邻副本、双线性平均值为 4、双三次权重为 16、Lanczos 使用加窗 sinc。这篇文章解释了每一个,模糊、振铃和锯齿之间的权衡,以及浏览器为您提供的功能。

同一张照片,三种工具,三种结果 - 调整大小图像的清晰度和闪光不同的具体难题

两个调整大小工具可以生成尺寸相同但边缘明显不同的文件。几何形状可能匹配,但采样不同:每个输出像素需要从源信息导出的颜色,并且该导出可以有利于清晰度、平滑度或抗锯齿性。仅文件尺寸无法识别该方法。

Social Image Resizer 故意做出了更狭窄的承诺。在drawImage之前,它启用图像平滑并要求高平滑质量。 Canvas 2D API 不会告诉应用程序浏览器选择哪个命名内核,因此该产品无法在源级别确定性地标记其输出最接近、双线性、双三次或 Lanczos。

采样问题 - 简单来说,为什么在不进行过滤的情况下缩小图像会产生莫尔条纹和锯齿状边缘

收缩会移除样本。如果高频条纹、头发或网格在没有充分过滤的情况下进行映射,它们可能会变得锯齿状、闪烁或形成错误图案。放大会在现有样本位置之间创建新的样本位置。在两个方向上,重采样器都会估计有限源的输出,而不是揭示隐藏的细节。

有用的测试图像结合了对角线、单像素线、重复网格和平滑渐变。以多种比例导出并检查一对一像素加上正常显示尺寸。观察结果显示了测试的浏览器如何处理困难的内容,而不假装对其内部实现进行逆向工程。

最近和双线性是有用的概念,但 ToolAcre 不会将它们公开为选择

最近邻概念上选择最近的源样本并倾向于保留硬像素块。双线性插值在概念上混合附近的样本并且通常平滑过渡。这些描述有助于解释可见的极端情况,但 ToolAcre 没有提供标有任一方法的开关,并且其测试无法识别引擎的内核。

不要仅从一条边推断命名过滤器。浏览器实现可以根据规模优化或改变行为。唯一可靠的产品声明是启用了平滑并将质量属性设置为高。任何更深层次的分类都需要该模块之外的特定于浏览器的证据。

此画布实现不承诺双三次行为

双三次方法使用更广泛的邻域和三次加权,其变体可以用柔软度来对抗边缘超调。这是比较专用图像应用程序的宝贵背景。它不是 Canvas 2D 输出的合同,因为 render.js 既不选择三次系数也不导入双三次库。

如果生产工作流程需要特定的立方内核,请使用对其进行命名和测试的工具。 Social Image Resizer 优先考虑本机浏览器可用性和本地操作。其结果应被判断为在记录的引擎和版本下的浏览器重新采样输出,而不是表示为一种变体的受控科学实现。

Lanczos 不在工具合同范围内,不属于默认项

Lanczos 使用窗口正弦思想来保留细节,同时控制锯齿,并且硬边缘可能在某些设置下显示振铃。该工作手册称这是许多照片工具的默认设置,但此处并未提及这种流行程度。更重要的是,ToolAcre 中没有任何内容请求 Lanczos 的名字。

在诊断光晕时,这一遗漏很重要。看到一个并不能证明 Lanczos 内核,而没有看到一个并不能证明另一种算法。比较源和输出、文档比例和浏览器,并避免指定应用程序无法观察到的原因。视觉症状可以指导测试,而无需验证隐藏代码。

浏览器提供什么 - 平滑切换和质量提示而不是命名过滤器,以及为什么输出因浏览器和版本而异

浏览器画布公开 imageSmoothingEnabled 和 imageSmoothingQuality 而不是过滤器目录。 ToolAcre 在绘制缩放源之前立即设置第一个 true 和第二个 high。引擎可能会以不同的方式解释提示,或者在版本之间演变,这就是为什么相同的 JavaScript 可能会产生小的跨浏览器差异。

即使采样不是,几何形状也保持明确。 computeFrame 返回精确的比例和绘制尺寸; drawRect 将结果居中并偏移;输出画布具有整数目标尺寸。在查看浏览器之间的差异时,将这些已知事实与隐藏的采样选择分开。

这不包括什么 - 调整大小后锐化,以及内容感知或机器学习缩放器

调整大小后锐化、内容感知方法和机器学习重建不存在。没有锐化掩模控制、边缘检测器或生成细节模型。输出质量控制影响有损格式的编码,而不是调整大小后的锐化阶段。将这些视为不同的操作。

浏览器本机工作流程仍然有用,正是因为它简单且可用。对于常规社会作物,检查实际结果。对于科学成像、版式大师或像素艺术保存,请选择具有适合该内容的明确过滤器控制和验证的工具。

要点:过滤器解释了外观 - 社交图像调整器使用浏览器自己的重新采样,因此了解这些术语可以告诉您期望什么以及要检查什么

重新采样解释了为什么大小并不是故事的全部,但证据必须与工具相匹配。 Social Image Resizer 要求平滑、高质量的画布绘制,并将确切的内核留给浏览器。这足以生产有用的作物,而无需营销代码从未选择的过滤器。

保留困难的测试图像,记录浏览器详细信息并在质量重要时比较导出。该术语有助于描述您所看到的内容;实施告诉您您可以诚实地声明什么。命名算法仅适用于代码或权威浏览器证据证明它们的地方。