使用PHP yii框架,在带有图像预览和裁剪工具的注册表中上传图像


Image upload in a registration form with image preview and cropping tool using PHP yii framework?

如何使用PHP yii框架在带有图像预览和裁剪工具的注册表中上传图像?

我在我的yii框架中有一个用户注册表,希望包括用户图像的图像上传。我希望上传的图像在上传成功后直接显示在表单中。之后,我想调整图像的大小并裁剪图像,当提交创建用户表单时,应该保存图像,并且用户记录应该包含图像的url,以便稍后显示。

如何设置要存储的图像的固定大小?例如,当我想要宽度为200px x高度为300px的图像时。

对于更新前的实时预览,您可以使用html5 File API。我建议您查看以下链接:文件api示例
https://developer.mozilla.org/en/Using_files_from_web_applications

对于在服务器端裁剪图像,请使用以下yii扩展:
http://www.yiiframework.com/extension/image/

您还可以让用户在客户端裁剪图像。您可以定义固定的纵横比,并让它选择图像的一部分。我个人使用Jcrop javascript库。

您希望图像为200px x 300px。在这种情况下,AspectRadio为0.67。您可以在Jcrop:中定义aspectRatio

jcr = $.Jcrop('#imageDisplay');
jcr.setOptions({
trackDocument: true,
aspectRatio: 0.74,

由于你的纵横比是固定的,你只需要使用上面提到的扩展将图像调整为200px x 300px。