image - Why are my JPEG files larger than expected? -
gm convert +profile "*" -resize 800x800 -quality 90.0 -background white -flatten test.jpg test01.jpg
the test01.jpg file size 140262, test.jpg file size 114698, think test01.jpg file less test.jpg, why?
gm identify -verbose test.jpg command info: image: test.jpg format: jpeg (joint photographic experts group jfif format) geometry: 960x1280 class: directclass type: true color depth: 8 bits-per-pixel component channel depths: red: 8 bits green: 8 bits blue: 8 bits channel statistics: red: minimum: 0.00 (0.0000) maximum: 255.00 (1.0000) mean: 158.69 (0.6223) standard deviation: 74.34 (0.2915) green: minimum: 0.00 (0.0000) maximum: 255.00 (1.0000) mean: 142.36 (0.5583) standard deviation: 72.48 (0.2842) blue: minimum: 0.00 (0.0000) maximum: 255.00 (1.0000) mean: 105.80 (0.4149) standard deviation: 73.05 (0.2865) resolution: 72x72 pixels filesize: 112.0ki interlace: no orientation: topleft background color: white border color: #dfdfdf matte color: #bdbdbd page geometry: 960x1280+0+0 compose: on dispose: undefined iterations: 0 compression: jpeg jpeg-quality: 64 jpeg-colorspace: 2 jpeg-colorspace-name: rgb jpeg-sampling-factors: 2x2,1x1,1x1 signature: ea09bde85095c8c8b2345e5301d581a8002490ecfefa63ae81c0cb14b8c2fbf8 profile-iptc: 40 bytes profile-exif: 86 bytes orientation: 1 exif offset: 38 color space: 1 exif image width: 960 exif image length: 1280 tainted: false user time: 0.020u elapsed time: 0:01 pixels per second: 39.1mi
according "identify" output presented input image "test.jpg", jpeg quality estimated 64. requested quality 90 output image.
higher quality means bigger filesize. increase in quality 64 90 doesn't improve visual quality of image; forces compressor faithfully reproduce compression artifacts in input image.