如何实现用于调整图像大小的HTML5 canvas drawimage方法

问题描述 投票:0回答:1

我正在尝试从512 * 512到256 * 256像素进行图像缩小,其中灰度图像表示为javascript数组大小512 * 512。使用画布drawimage方法时,可以直接将512 * 512图像绘制为256 * 256图像,此缩小图像显示为平滑。我正在尝试使用如上所述的javascript数组执行相同操作,其中我首先使用高斯内核对图像进行卷积= [1 / 16,2 / 16,1 / 16,2 / 16,4 / 16,2 / 16,1 / 16,2 / 16,1 / 16]然后我对模糊的512 * 512图像进行二次采样,得到256 * 256图像数组,我将其转换为canvas imagedata。然而,与使用画布drawimage方法缩小尺寸相比,具有模糊和子采样的方法产生了更“粗糙”的图像。有没有人知道如何实现draimage图像缩小方法,以便我可以尝试复制那个?

最好的祝福

javascript image image-processing html5-canvas convolution
1个回答
0
投票

画布规范没有定义要使用的算法。

Chrome使用了Skia图形引擎中实现的Lanczos过滤器:https://chromium.googlesource.com/chromium/src/+/master/skia/ext/image_operations.cc

SVG规范只推荐双线性重采样。

© www.soinside.com 2019 - 2024. All rights reserved.