画布图像大小调整使文件更大



我正在实现图像上传,但在此之前,我想根据限制(例如.max宽度,最大高度,最大面积(进行一些调整大小。问题不在于调整图像大小,而在于文件大小。

我已经放弃了质量,从画布,Pica,Hermite获得的结果没有明显差异,所以我决定使用屏幕外的画布。

文件大小是一个更大的问题,例如:如果我有 PNG 图像,即 345x518 (54.2kB(,我希望它适合 512x512 区域,将其大小调整为 341x512 jpeg(相同的纵横比(后,文件大小变为 171.7kB。

调整大小功能:

function _canvasImageGet(original, dims) {
var canvas = document.createElement("canvas");
canvas.width = dims.w;
canvas.height = dims.h;
canvas.getContext("2d").drawImage(original, 0, 0, canvas.width, canvas.height);
return canvas;
}

有什么办法,调整大小后如何获得更小或相同的文件大小?它不必使用 Canvas,但如果在客户端上调整大小,我将不胜感激。感谢所有的安维尔。

Canvas 和我使用过的其他库没有使用压缩,因此在调整大小后,输出文件自然比以前更大。我已经找到了我需要的东西。图像压缩器进行大小调整和压缩,所有这些都是在客户端完成的。还有另一个库 JIC,但它不能调整大小。

最新更新