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

Posted

技术标签:

【中文标题】使用 PHP yii 框架以带有图像预览和裁剪工具的注册表单上传图像?【英文标题】:Image upload in a registration form with image preview and cropping tool using PHP yii framework? 【发布时间】:2012-02-28 12:21:46 【问题描述】:

如何使用 php yii 框架通过图像预览和裁剪工具上传注册表单中的图像?

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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

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

由于您的纵横比是固定的,您只需使用上述扩展程序将图像大小调整为 200px x 300px。

【讨论】:

以上是关于使用 PHP yii 框架以带有图像预览和裁剪工具的注册表单上传图像?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jcrop 裁剪带有预览的图像

恢复 javascript 以进行图像裁剪

裁剪/剪辑相机预览以仅显示图像的上半部分

使用 jcrop 裁剪后预览图像不显示

如何使用 jquery 裁剪缩放的图像

强制回调以重新加载文件