我只调整大于规定尺寸的图像,如下所示:
<cfset BodyImgMainW = 670 />
<cfset BodyImgMainH = 670 />
<cfimage name="BodyImg" source="c:\sample_1365x768.jpg"/>
<cfif BodyImg.width GT BodyImgMaxW OR BodyImg.height GT BodyImgMaxH>
<cfif BodyImg.width GT BodyImgMainW>
<cfset ImageResize(BodyImg, BodyImgMainW, "", "highestQuality")/>
<cfelseif BodyImg.height GT BodyImgMainH>
<cfset ImageResize(BodyImg, "", BodyImgMainH, "highestQuality")/>
</cfif>
<cfimage source="#BodyImg#" action="write" destination="C:\sample_670x377.jpg" overwrite="yes" quality="1" format="jpg"/>
</cfif>
我上传用于测试的原始图像为 1,365px × 768px,文件大小为 36.4KB。但是一旦将其大小调整为 670px x 377px,最终文件大小为 89.5KB。
当图像实际上较小时,为什么文件大小会增加?有没有办法告诉 ColdFusion 除了缩小图像之外不要对图像做任何事情?