All pastes #1050297 Raw Edit

du

public php v1 · immutable
#1050297 ·published 2008-06-18 16:48 UTC
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 ) ) );  }