Загрузка изображения в регистрационную форму с предварительным просмотром изображения и инструментом обрезки с использованием PHP yii framework?

Как я могу загрузить изображение в регистрационную форму с помощью инструмента предварительного просмотра и обрезки изображения с помощью PHP yii framework?

У меня есть форма регистрации пользователя в моей структуре yii, и я хочу включить загрузку изображения для изображения пользователя. Я хочу, чтобы изображение загружалось и отображалось непосредственно в форме после успешной загрузки. После этого я хочу изменить размер и обрезать изображение, и когда форма создания пользователя будет отправлена, изображение должно быть сохранено, а запись пользователя должна содержать URL-адрес изображения, чтобы отобразить его позже.

Как установить фиксированный размер сохраняемого изображения? Например, когда я хочу, чтобы изображение было шириной 200 пикселей x высотой 300 пикселей.


person confile    schedule 28.02.2012    source источник


Ответы (1)


Для предварительного просмотра перед обновлением вы можете использовать html5 File API. Я советую вам просмотреть эти ссылки: file-api-example
https://developer.mozilla.org/en/Using_files_from_web_applications

Для обрезки изображений на стороне сервера используйте следующее расширение yii:
http://www.yiiframework.com/extension/image/

Вы также можете позволить пользователю обрезать изображение на стороне клиента. Вы можете определить фиксированное соотношение сторон и позволить выбрать часть изображения. Лично я использую библиотеку JavaScript Jcrop.

Вы хотите, чтобы изображение было 200px x 300px. В этом случае AspectRadio составляет 0,67. Вы определяете aspectRatio в Jcrop:

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

Поскольку ваше соотношение сторон фиксировано, вам нужно только изменить размер изображения до 200 x 300 пикселей, используя указанное расширение.

person Jakub    schedule 29.02.2012