如何在缩放中设置高度和宽度,是否可以依赖于生成的图像(质量和专业比例生成)。
答案 0 :(得分:0)
如何在缩放中设置高度和宽度
你做不到。为每个scaling.sizes
entry指定maxSize
,精细上传器将按比例缩放图像。
我可以依赖于生成的图像(质量
如果您仅依赖浏览器,质量将受到限制。有一个entire section in the documentation that explains how you can generate higher-quality resizes by integrating a third-party resize library。我还讨论了为什么你可能会或可能不想这样做。来自文档:
Fine Uploader的内部图像调整大小代码委托给drawImage 浏览器的本机CanvasRenderingContext2D对象上的方法。这个 object用于操作表示a的元素 提交的图像文件或Blob。大多数浏览器使用线性插值 调整图像大小时。这可能导致极端混叠和波纹 模式,这是任何人调整图像的交易破坏者 艺术/照片画廊,专辑等。这些文物是 事后不可能删除。
如果速度最重要,则精确缩放图像生成不是 最重要的是,你应该继续使用Fine Uploader的内部缩放 实现。但是,如果要生成更高质量的缩放 要上传的图片,您应该使用第三方库 调整提交的图像文件的大小,例如pica或limby-resize。作为 Fine Uploader的5.10版本,它非常容易集成 这个库的插件。事实上,Fine Uploader将继续 正确定位提交的图像文件,然后正确传递 大小适合您选择接收的图像缩放库 已调整大小的图像文件以及原始的全尺寸图像文件 吸引参考。唯一需要注意的是,由于 在iOS中扩展较大图像的问题,您可能需要继续 对该特定操作系统使用Fine Uploader的内部缩放算法, 正如其他第三方扩展库最有可能不包含的那样 处理这种复杂案例的逻辑。幸运的是,这很容易解释 同样。
例如,如果您愿意使用异食癖来产生更高质量的产品 缩放图像,只需将异食癖拉入您的项目,并贡献一个 scaling.customResizer函数,如下所示:
scaling: { customResizer: !qq.ios() && function(resizeInfo) { return new Promise(function(resolve, reject) { pica.resizeCanvas(resizeInfo.sourceCanvas, resizeInfo.targetCanvas, {}, resolve) }) }, ... }