I think you'll need to resize the image first, choosing either width or height as the "master" dimension, then crop it.
I haven't tested this code, but give it a shot. If nothing else, it should give you the idea.
$config['source_image'] = '/path/to/image/mypic.jpg';
$config['width'] = 30;
$config['height'] = 0; // No restraint on height
$this->load->library('image_lib', $config);
$this->image_lib->resize();
$config['x_axis'] = 30; // Same width as before
$config['y_axis'] = 20; // Crop to height
$this->image_lib->initialize($config);
$this->image_lib->crop();
You may want to try to center the crop dimensions instead. Whichever way you choose to do it, the image needs to be cropped at some point.
I should note that I'm not sure if $config['height'] = 0 is the right way to ignore height, it might have to be FALSE, a really high number, or removed altogether (haven't worked with the CI image lib in a while).