There is at least one other question dealing with this, but I found no satisfactory explanation, let alone a solution.
My site used to deliver 800x600 native images hosted externally that were scaled by the browser and CSS. To improve the Google Page Speed, my client asked me to ingest and serve the images on the Drupal site and to size them on the server. So far, so good.
Now I am noticing a big degradation in quality - not good for a real estate site:
(this is slightly enlarged to better show the issue)
On the right is the old site with scaling/cropping done by Chrome from 800x600 down to 315x208, left is the new site with an image style using imagemagick set to 100% quality, doing the same size reduction and cropping. I tried the "resize" filter but that has the same issue and does not give me the desired results.
The images are not from a stale cache, the image field max size is 800x600, and the file on the server is unaltered and has the original size. It is definitely the image style filter that is causing this.
Previous recommendations were to increase the quality setting for the image toolkit (admin/config/media/image-toolkit), switch to imagemagick, and ensure that the max resolution of the image field does not cause scaling. I have done all that and don't see any improvement.
Any other suggestions?
down to 315x208
then why does the image on your question have a height of 594? I don't get it.