public function generateUserAvatars($model, $size = 60, $path = 'avatar') { $origion = File::model()->generateFileName($model, $path, true); $src = File::model()->generateFileName($model, $path, true, 150); $des = File::model()->generateFileName($model, $path, true, $size); if (!file_exists($des)) { if (!is_dir(dirname($des))) { UtilHelper::createFolder(dirname($des)); } if (file_exists($src)) { $t = new ThumbHandler(); $t->setSrcImg($src); $t->setCutType(1); //指明为手工裁切 // $t->setSrcCutPosition(100, 100);// 源图起点坐标 $t->setRectangleCut($size, $size); // 裁切尺寸 $t->setImgDisplayQuality(90); $t->setDstImg($des); $t->createImg(150, 150); } elseif (file_exists($origion)) { $t = new ThumbHandler(); $t->setSrcImg($origion); $t->setCutType(2); $t->setSrcCutPosition(0, 0); $t->setRectangleCut($size, $size); $t->setImgDisplayQuality(90); $t->setDstImg($des); $width = $t->getSrcImgWidth(); $height = $t->getSrcImgHeight(); if ($width >= $height) { $t->createImg($height, $height); } else { $t->createImg($width, $width); } } } }