Get Registered Image Sizes with WordPress

Output a drop down list of registered image sizes by name

<?php 
// Output a drop down list of registered image sizes by name
$image_sizes = get_intermediate_image_sizes(); ?>
<select name="image_size">
  <?php foreach ($image_sizes as $size_name): ?>
    <option value="<?php echo $size_name ?>"><?php echo $size_name ?></option>
  <?php endforeach; ?>
</select>

Output a drop down list of registered image sizes by name

<?php 
global $_wp_additional_image_sizes;

$sizes = array();
$get_intermediate_image_sizes = get_intermediate_image_sizes();

// Create the full array with sizes and crop info
foreach( $get_intermediate_image_sizes as $_size ) {

        if ( in_array( $_size, array( 'thumbnail', 'medium', 'large' ) ) ) {

                $sizes[ $_size ]['width'] = get_option( $_size . '_size_w' );
                $sizes[ $_size ]['height'] = get_option( $_size . '_size_h' );
                $sizes[ $_size ]['crop'] = (bool) get_option( $_size . '_crop' );
        } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {

                $sizes[ $_size ] = array( 
                        'width' => $_wp_additional_image_sizes[ $_size ]['width'],
                        'height' => $_wp_additional_image_sizes[ $_size ]['height'],
                        'crop' =>  $_wp_additional_image_sizes[ $_size ]['crop']
                );
        }
}

// Get only 1 size if found
if ( $size ) {
        if( isset( $sizes[ $size ] ) ) {
                return $sizes[ $size ];
        } else {
                return false;
        }
}
echo '<pre>';
print_r ($sizes);
echo '</pre>';
?>