Эта функция искажает изображение с lpmj.net? - PullRequest
0 голосов
/ 06 августа 2011
  if ($typeok)
    {
    list($w, $h) = getimagesize($saveto);   
    $tw  = $w;
    $th  = $h;
    $max = 100; 
    if($w > $h && $max < $w)
      {
      $th = $max / $w * $h;     
      $tw = $max;
      }
    elseif ($h > $w && $max < $h)   
      {
      $tw = $max / $h * $w;     
      $th = $max;
      }
    elseif ($max < $w)  
      {
      $tw = $th = $max; 
      }
      $tmp = imagecreatetruecolor($tw, $th);    
      imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tw, $th, $w, $h);
      imageconvolution($tmp, array(array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1)), 8, 0);
      imagejpeg($tmp, $saveto); 
      imagedestroy($tmp);
      imagedestroy($src);
    }

1 Ответ

0 голосов
/ 06 августа 2011

Окончательное условие должно выполняться только в том случае, если $ h = $ w и оба> max>.

Первое условие срабатывает только тогда, когда $ w больше, чем $ h, и оно должно бытьизменен.Второй будет срабатывать только в том случае, если $ h больше, чем $ w, а размер изображения необходимо изменить.Итак, третье условие просто проверяет, нужно ли изменить размер изображения ($ w> $ max).Если это произойдет, вы можете смело предположить, что $ w = $ h, потому что не сработало ни одно из двух предыдущих условий (то есть, $ w не было больше, а $ h не было больше. Они должны быть равны)

Единственными оставшимися условиями были те, в которых $ w и $ h меньше $ max.Здесь не нужно выполнять изменение размеров, поэтому мы не беспокоимся о соблюдении этих условий.

Надеюсь, что это имеет смысл!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...