rendered paste body function image_resize_to_ratio( $x, $y, $xlimit, $ylimit ) { if( $x > $xlimit || $y > $ylimit ) { if( $x > $y ) { $xRatio = ( $xlimit / $x ); $xNew = ( $x * $xRatio ); $yNew = ( $y * $xRatio ); if( $yNew > $ylimit ) { $xNew = $xNew * ( $y / $x ); $yNew = $yNew * ( $y / $x ); } } else if( $y > $x ) { $yRatio = ( $ylimit / $y ); $xNew = ( $x * $yRatio ); $yNew = ( $y * $yRatio ); if( $xNew > $xlimit ) { $xNew = $xNew * ( $x / $y ); $yNew = $yNew * ( $x / $y ); } } } else if( $x < $xlimit && $y < $ylimit ) { if( $x > $y ) { $xRatio = ( $xlimit / $x ); $xNew = ( $x * $xRatio ); $yNew = ( $y * $xRatio ); if( $yNew > $ylimit ) { $xNew = $xNew * ( $y / $x ); $yNew = $yNew * ( $y / $x ); } } else if( $y > $x ) { $yRatio = ( $ylimit / $y ); $xNew = ( $x * $yRatio ); $yNew = ( $y * $yRatio ); if( $xNew > $xlimit ) { $xNew = $xNew * ( $x / $y ); $yNew = $yNew * ( $x / $y ); } } } return( array( 'x' => round( $xNew ), 'y' => round( $yNew ) ) ); }