2

我正在尝试在 yii 中上传图片,然后裁剪上传的图片,然后保存。到目前为止,我所取得的成就是我可以在提交表单时上传,但我不明白如何裁剪或使用它jcrop,任何人都可以发送一些有用的教程,我在控制器中正在做的是

public function actionCreate()
{
    $model=new Userprofile;
    if(isset($_POST['Userprofile']))
    {
    $model->attributes=$_POST['Userprofile'];
    $model->profilePic=CUploadedFile::getInstance($model,'profilePic');
    $ext = $model->profilePic->getExtensionName();
    $imagename=date('dmy').time().rand();
    $pp=$model->profilePic;
    $model->profilePic=$imagename.'.'.$ext;
    if($model->save())
        mkdir('profilepics/'.$model->id,0777);
        $pp->saveAs('profilepics/'.$model->id.'/'.$imagename.'.'.$ext);
        $this->redirect(array('view','id'=>$model->id));
    }
    $this->render('create',array('model'=>$model,));
}
4

2 回答 2

3

您可以使用 jquery 插件 imageAreaSelect 获取在客户端进行裁剪的坐标。这是现场示例http://odyniec.net/projects/imgareaselect/

然后将坐标传递给模型的 beforeSave 并使用 Imagick::cropImage() 裁剪它(而不是 Imagick,您可以使用 GD 或您想要的任何其他库)

于 2012-05-15T09:00:36.727 回答
0

NavaJcrop 扩展是上传和裁剪图像的最佳解决方案之一。这是扩展 NavaJcrop 扩展的链接

请按照它的步骤

于 2016-04-22T04:53:48.997 回答