这part of the documentation与我想做的事情有关,但它看起来很难编码:
var uploader = new qq.FineUploader({
...
scaling: {
sizes: [
{name: "small", maxSize: 100},
{name: "medium", maxSize: 300}
]
}
});
我希望有条件地对已经没有被用户压缩的图像进行重新缩放。
这是我想要完成的一些伪代码:
if ((filesize < 1 megabytes) and (image.width*image.height > 1 megapixels)) {
Keep the original image without manipulating it in any way
} else {
Rescale image longest side to maximum of 1600 pixels
Compress the image to 60% quality
if (filesize still > 1mb) {
Keep compressing with more jpeg until it's under 800kb
}
}
我不知道精细上传器是否具有内置的jpeg压缩功能(或者如果它只是重新缩放),如果没有,那么可能会使用J-I-C。
如果使用精细上传器完成这种条件重新缩放和压缩,应该怎么做?如果没有,我应该考虑哪些其他途径?
答案 0 :(得分:1)
如果您想“有条件地”缩放图像,则需要使用scaleImage
API method自行实现此逻辑。
scaling
options。onSubmitted
callback handler。在那里,您可以使用getFile
API method检查文件,并使用它来确定是否应缩放文件。Blob
创建缩放scaleImage
,然后通过addFiles
API method将缩放后的Blob
提交给Fine Uploader。