Errr... nevermind. In your code NONE of settings.scale, settings.width, and settings.height are used. I now see that this is a wrapper around convert functionality that we don't use anymore.

Soon, we want to refactor all this stuff into core. When we do that, we should rethink which parameters we want to support where. It will be confusing to users if they can rescale things from two places in the API: once before the pixels are requested from PS and once when convert is called.

My hunch is that we want to support two workflows:

1. An API that says "put a png/jpg/whatever on disk with filename foo and dimensions n x m or scale factor q x r". This will do the scaling in PS when requesting pixels, then pipe the pixels through convert to disk
2. An API that says "give me a stream object of pixels (straight from photoshop) at dimensions n x m or scale factor q x r". Users can use this to build their own convert-like functionality (if they don't like ImageMagick, for example)

In both of these cases, we won't actually use convert's resizing.

I guess more to the point, I don't think we want to expose convert directly, and I don't think we want to have dead code in our private convert wrapper.