HTML5画布使用的算法是什么来调整图像大小?

3

一般来说,最终的质量还不错,除非图像中有一些非常微妙的细节,比如头发。然后,缩小的图像会导致过度锐化的版本。canvas用于图像调整大小的默认算法是什么?

是否有办法实现更好的效果?


我认为规范并不要求使用特定的算法。可以通过禁用抗锯齿和使用最近邻方法来实现。请参见:https://dev59.com/v2sz5IYBdhLWcg3w3bpb - Louis Ricci
2个回答

2
根据测试结果和网络上散落的信息,目前Canvas使用的是最近成员算法。虽然规范没有强制要求使用特定的算法。Mozilla曾经讨论过改用双线性插值算法,但似乎尚未在浏览器中实现。

-1
通常在画布上调整图像大小时,您只需使用drawImage。以下是Mozilla的示例:
// Width and height is the image's size on the target canvas.
drawImage(image, x, y, width, height)

更多示例请参见此处;特别是“切片”部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接