Title: psychocoder's Replies | WordPress.org

---

# psychocoder

  [  ](https://wordpress.org/support/users/psychocoder/)

 *   [Profile](https://wordpress.org/support/users/psychocoder/)
 *   [Topics Started](https://wordpress.org/support/users/psychocoder/topics/)
 *   [Replies Created](https://wordpress.org/support/users/psychocoder/replies/)
 *   [Reviews Written](https://wordpress.org/support/users/psychocoder/reviews/)
 *   [Topics Replied To](https://wordpress.org/support/users/psychocoder/replied-to/)
 *   [Engagements](https://wordpress.org/support/users/psychocoder/engagements/)
 *   [Favorites](https://wordpress.org/support/users/psychocoder/favorites/)

 Search replies:

## Forum Replies Created

Viewing 1 replies (of 1 total)

 *   Forum: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
   
   In reply to: [Changing position of featured image thumbnail crop](https://wordpress.org/support/topic/changing-position-of-featured-image-thumbnail-crop/)
 *  [psychocoder](https://wordpress.org/support/users/psychocoder/)
 * (@psychocoder)
 * [12 years, 1 month ago](https://wordpress.org/support/topic/changing-position-of-featured-image-thumbnail-crop/#post-4384180)
 * many people come here for answers, one hope:
 *     ```
       function my_awesome_image_resize_dimensions( $payload, $orig_w, $orig_h, $dest_w, $dest_h, $crop ){
   
       	// Change this to a conditional that decides whether you
       	// want to override the defaults for this image or not.
       	if( false )
       		return $payload;
   
       	if ( $crop ) {
       		// crop the largest possible portion of the original image that we can size to $dest_w x $dest_h
       		$aspect_ratio = $orig_w / $orig_h;
       		$new_w = min($dest_w, $orig_w);
       		$new_h = min($dest_h, $orig_h);
   
       		if ( !$new_w ) {
       			$new_w = intval($new_h * $aspect_ratio);
       		}
   
       		if ( !$new_h ) {
       			$new_h = intval($new_w / $aspect_ratio);
       		}
   
       		$size_ratio = max($new_w / $orig_w, $new_h / $orig_h);
   
       		$crop_w = round($new_w / $size_ratio);
       		$crop_h = round($new_h / $size_ratio);
   
       		$s_x = 0; // formerly ==> floor( ($orig_w - $crop_w) / 2 );
       		$s_y = 0; // formerly ==> floor( ($orig_h - $crop_h) / 2 );
       	} else {
       		// don't crop, just resize using $dest_w x $dest_h as a maximum bounding box
       		$crop_w = $orig_w;
       		$crop_h = $orig_h;
   
       		$s_x = 0;
       		$s_y = 0;
   
       		list( $new_w, $new_h ) = wp_constrain_dimensions( $orig_w, $orig_h, $dest_w, $dest_h );
       	}
   
       	// if the resulting image would be the same size or larger we don't want to resize it
       	if ( $new_w >= $orig_w && $new_h >= $orig_h )
       		return false;
   
       	// the return array matches the parameters to imagecopyresampled()
       	// int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h
       	return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
   
       }
       add_filter( 'image_resize_dimensions', 'my_awesome_image_resize_dimensions', 10, 6 );
       ```
   

Viewing 1 replies (of 1 total)