Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Необходим инструмент для обрезки фотографии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Extazy
Отправлено: 31 Мая, 2012 - 17:27:42
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Здравствуйте.
Необходимо написать модуль для заливки аватарки на сайт. Должен выглядеть так: человек заливает фотографию и потом может выделить часть фотографии 300px на 300px, которые обрезаются, создаётся новая фотография и используется в качестве аватарки.

Код для заливки фотографии на сайт я могу написать Улыбка Подскажите как сделать обрезание фотографии. Тут наверное надо не php, а jquery или какой-то другой javascript.

Прошу помочь, что почитать или быть может где-то есть готовое решение.
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Мая, 2012 - 17:31:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




 
 Top
Extazy
Отправлено: 31 Мая, 2012 - 17:37:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Спасибо. Теперь знаю что набирать в поиске гугла)
Но этот вариант не предлагает обрезанную часть для сохранения...

Вот нашёл нужный мне вариант: http://ruseller[dot]com/lessons.php?[dot][dot][dot]ub=32&id=802
Только подскажите что изменить в коде, чтобы можно было указать максимальный размер обрезки?
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Мая, 2012 - 17:52:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Extazy пишет:
Но этот вариант не предлагает обрезанную часть для сохранения..
Вы плохо смотрите, да и за вас никто конечный вариант делать не будет.
Зато там есть подобие API и HOWTO. Я бы взял именно тот вариант, который скинул.
 
 Top
tuareg
Отправлено: 31 Мая, 2012 - 19:40:35
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Это один и тот же плагин Улыбка
 
 Top
Extazy
Отправлено: 31 Мая, 2012 - 23:29:03
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




DeepVarvar, действительно на сайте присланного Вами модуля всё имеется - не углядел. Большое спасибо!
 
 Top
Okula
Отправлено: 31 Мая, 2012 - 23:33:30
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Фотографию можно и нужно обрезать с помощью PHP, для последующего сохранения на сервере миниатюры. JS нужен только лишь для того, чтобы расчитать начальные координаты на изображении.
 
 Top
Extazy
Отправлено: 01 Июня, 2012 - 03:12:43
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Не получается обрезать фотографию на php... помогите, пожалуйста..
Вот тут объясняется как это делается на php: http://deepliquid[dot]com/content/Jc[dot][dot][dot]tion_Theory[dot]html

После вставки вот этого кода, у меня просто открывается экран с чёрным квадратом:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $targ_w = $targ_h = 150;
  4. $jpeg_quality = 90;
  5.  
  6. $src = 'ссылка на картинку';
  7. $img_r = imagecreatefromjpeg($src);
  8. $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
  9.  
  10. imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
  11.     $targ_w,$targ_h,$_POST['w'],$_POST['h']);
  12.  
  13. header('Content-type: image/jpeg');
  14. imagejpeg($dst_r, null, $jpeg_quality);
  15.  
  16. ?>


А вот если закомментить строчку:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $targ_w = $targ_h = 150;
  4. $jpeg_quality = 90;
  5.  
  6. $src = 'demo_files/flowers.jpg';
  7. $img_r = imagecreatefromjpeg($src);
  8. $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
  9.  
  10. imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
  11.     $targ_w,$targ_h,$_POST['w'],$_POST['h']);
  12.  
  13. //header('Content-type: image/jpeg');
  14. imagejpeg($dst_r, null, $jpeg_quality);
  15.  
  16. ?>


То на сайте вылазит куча непонятных иероглифов:
CODE (htmlphp):
скопировать код в буфер обмена
  1. яШяаJFIFяю;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 яЫC 
  2.  
  3.  
  4.     
  5.  
  6.   яЫC  
  7.  яА––"яД
  8. яДµ}!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡€‰Љ’“”•–—&#65533;™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяД
  9. яДµw!1AQaq"2ЃB‘Ў±Б #3RрbrС $4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡€‰Љ’“”•–—&#65533;™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪ ?ьЄўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ


Подскажите что я делаю не так? Что это за иероглифы?
(Добавление)
GD билиотека, как показывает phpinfo, у меня установлена.
(Добавление)
чтото не то с сервером мне кажется.. както он неправильно обрабатывает этот код..
(Добавление)
кажется проблема в строке:

Она необходима для того, чтобы вывести на страничку обрезанную фотку. Однако так как я встраиваю это на свой сайт (в уже готовый html шаблон), то страничка уже имеет другой заголовок.. и повторно header она принять не может...
надеюсь внятно объяснил..

подскажите тогда что делать? как совместить 2 заголовка?
(Добавление)
то есть эту картинку надо не вывести на экран, а сохранить на сервере.. как это сделать?
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Июня, 2012 - 03:56:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Спойлер (Отобразить)

Юзать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $img = new image;
  3. $img->load("demo_files/flowers.jpg");
  4. $img->intelligentResize(100,100);
  5. $img->save($file);

Если вам не нужно сохранение в файл, а нужно только рендерить на лету - значит вы идете не правильным путем.
 
 Top
Extazy
Отправлено: 01 Июня, 2012 - 03:58:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




DeepVarvar, мне надо сохранение в файл. Выше код для сохранения в файл или работы "на лету"?

(Отредактировано автором: 01 Июня, 2012 - 03:58:58)

 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Июня, 2012 - 03:58:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Кстати у этого класса нет обрезалки, надо будет допилить на досуге Закатив глазки
(Добавление)
Сохранение
 
 Top
Extazy
Отправлено: 01 Июня, 2012 - 04:02:16
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Мне надо указать координаты нового изображения через jquery и затем выбранный участок сохранить на фтп. Выше код для этого? (я просто пока немного плохо в классах разбираюсь, поэтому не могу сам внимательно рассмотреть код и понять что там к чему..)
(Добавление)
Ок. Попробую щас воспользоваться им..
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Июня, 2012 - 04:06:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Я ше написал что он не обрезает, надо дорабатывать.
 
 Top
Extazy
Отправлено: 01 Июня, 2012 - 04:09:58
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




А. ясно.. тут для меня полные дебри.. надо сначала самому попытаться разобраться в вашем коде.. потом спрошу если не пойму..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB