1

メンバーのプロフィール画像を拡大縮小するために使用するスクリプトがありますが、画像のネイティブ比率をあまり歪めずにプロフィール写真の拡大縮小を実行する適切な方法は何でしょうか。アップロード時に画像のアスペクト比を維持するためのロジックは何ですか?現在、このコードを使用してスケーリングを実行しています

//SCALING IMAGES 
    $newwidth = 301;
    $newheight = ceil(($height/$width)*$newwidth);
    $tmp = imagecreatetruecolor($newwidth,$newheight);


    imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);

お時間をいただきありがとうございます。

4

1 に答える 1

0

画像のリサンプル サイズを設定する例を設定する必要があります。

class imagemanipulate
{
public function set_size($max_x = 100,$max_y = 100)
{

    // Resize
    if($this->x_input > $max_x || $this->y_input > $max_y)
    {

    $a= $max_x / $max_y;
    $b= $this->x_input / $this->y_input;

    if ($a<$b)
    {

        $this->x_output = $max_x;
        $this->y_output = ($max_x / $this->x_input) * $this->y_input;

    }
    else
    {

        $this->y_output = $max_y;
        $this->x_output = ($max_y / $this->y_input) * $this->x_input;

    }
    // Ready

    $this->resize = TRUE;

    }

    // Don't resize       
    else { $this->resize = FALSE; }

}
 }


 $inst = new imagemanipulate;
 $inst->set_size('301', '301');

 $tmp = imagecreatetruecolor($inst->x_output,$inst->y_output);


 imagecopyresampled($tmp,$src,0,0,0,0,$inst->x_output,$inst->y_output,$width,$height);

?>
于 2013-02-24T23:29:34.377 に答える