I tried the code on my local test install (XAMPP) and all my featured images became extremely pixellated. Even 8 bit images would look better.
function ajax_thumbnail_rebuild_get_sizes() {
global $_wp_additional_image_sizes;
foreach ( get_intermediate_image_sizes() as $s ) {
$sizes[$s] = array( 'name' => '', 'width' => '', 'height' => '', 'crop' => FALSE );
/* Read theme added sizes or fall back to default sizes set in options... */
$sizes[$s]['name'] = $s;
if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
$sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] );
else
$sizes[$s]['width'] = get_option( "{$s}_size_w" );
if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
$sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] );
else
$sizes[$s]['height'] = get_option( "{$s}_size_h" );
if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) && is_array( $_wp_additional_image_sizes[$s]['crop'] ) )
$sizes[$s]['crop'] = $_wp_additional_image_sizes[$s]['crop'];
elseif( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
$sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] );
else
$sizes[$s]['crop'] = get_option( "{$s}_crop" );
}
return $sizes;
}
I must admit that I did not check the original code before I made the change. So it could also be a plugin issue.