我正在使用canvas元素允许用户上传图像(在此示例中为PNG,但也可以是JPEG),然后将其发送到服务器。在将文件发送到服务器之前,我需要确保文件大小不超过10Mb-如果是,请重新缩放。
我认为,如果找出比率,新文件的大小不同于MAX,则可以缩小图像的宽度和高度,并期望文件大小以相同的比率变化...但是事实并非如此!
例如 Max_filesize = 10,000,000
当前图像规格:
X(5400px)
Y(2700px)
Area (X*Y = 14,580,000)
datasrc string length (14,787,751)
比例比例:SQRT(10,000,000 / 14,580,000)= 0.82
如果我随后使用该比例缩放图像宽度和高度,我将得到:
X(4441px)
Y(2220px)
Area (X*Y = 9,859,020) <= CORRECT
datasrc string length (12,215,917) <= INCORRECT - I expect this to be sub 10Mb :(
我想念什么?