$w){ return true; }else if($height >$h) { return true; } return false; } public function resizeImg($w, $h, $imageAlias,$imageAliasSave){ $img = Image::getImagine()->open(Yii::getAlias($imageAlias)); $size = $img->getSize(); $width = $size->getWidth(); $height = $size->getHeight(); $e_width = $w/$h; $e_height = $h/$w; $e1_width = $width/$height; $e1_height = $height/$width; if($e_width<$e1_width){ $new_width = $width*($e_width/$e1_width); $y = 0; $x = $width/ 2-($new_width/2); $width = $new_width; }else { $new_height = $height*($e_height/$e1_height); $x = 0; $y = $height/2-($new_height/2); $height = $new_height; } Image::crop($imageAlias, $width, $height,[$x,$y]) ->save(Yii::getAlias($imageAliasSave), ['quality' => 100]); $imagine = new Imagine(); $imagine->open($imageAliasSave) ->resize(new Box($w, $h)) ->save($imageAliasSave, array('flatten' => false)); } }