За последние 24 часа нас посетили 20203 программиста и 2036 роботов. Сейчас ищут 1444 программиста ...

Помогите с функцией

Тема в разделе "Обработка изображений средствами PHP", создана пользователем Sinkler, 26 июн 2006.

  1. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    Есть у меня один такой маленький, но глубоко засевший в мой мозг вопрос. Пытаюсь создать из одного изображения другое с помощью функций ImageCreateFromJpeg(), imagecreate() и imagecopyresampled(), но рисунок либо не создаётся и в браузере отображается содержимое адресной строки, либо браузер просто выдает ошибку.
    Уже в отчаянии прошу вас, Господа Скритеры, решить мне задачку по которой я бы ориентировался в дальнейшем.
    Допустим, есть у нас файл 1.jpg(100x200) и index.php. Какой код нужно написать в index.php, что бы получить уменьшенное изображение 1.jpg в файле 2.jpg(50x100)?
    Заранее благодарю.
     
  2. Mavir

    Mavir Guest

    Чуствую что пишешь, что-то вроде
    PHP:
    1. <img src="<? ImageCreateFromJpeg();
    2. //дальше идет обработка и в конце
    3. print $img; //или что там нужно, для вывода изображения?>">
    А надо <img src="images.php" alt="" border="0">, где в images.php обрабатывается картинка
     
  3. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    Спаибо, с принципом разобрался, но возникли проблемы с синтаксисом:
    PHP:
    1. <?
    2.     Header("Content-type: image/jpg");
    3.     $im_old=imagecreatefromjpeg("1.jpg");
    4.     $im_new=imagecreate(512, 384)
    5.     imagecopyresampled($im_new, $im_old, 0,0,0,0, 512, 384, 1024, 768);//здесь высвечивает ошибку
    6.     imagejpeg($im_new, "2.jpg");
    7. ?>
    Как правильно писать?
     
  4. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    какую ошибку-то высвечивает?

    зы: правильнее будет
    Код (Text):
    1. Content-Type: image/jpeg
     
  5. olo

    olo Активный пользователь

    С нами с:
    28 апр 2006
    Сообщения:
    272
    Симпатии:
    0
    При работе с такими крупными картинками может не хватить 8М памяти. Увеличивай квоту
     
  6. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    PHP:
    1. Parse error: parse error, unexpected T_STRING in c:\usr\Apache\htdocs\images.php on line 5
    Как увеличивать квоту, если не секрет?
     
  7. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    и с Jpeg то же самое!
     
  8. Mavir

    Mavir Guest

    Точку с запятой надо поставить после $im_new=imagecreate(512, 384) :)
     
  9. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    Я уж было обрадовался, а оно в бпаузере пишет
    PHP:
    1. <br />
    2. <b>Fatal error</b>:  Call to undefined function imagecreatefromjpeg() in <b>c:\usr\Apache\htdocs\images.php</b> on line <b>3</b><br />
    Изображение, конечно же, не появилось, может php неправильно настроен?
     
  10. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Sinkler
    а ты GD подключил?
     
  11. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    Что подключил?.. :?:
     
  12. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Библиотеку графическую к php. GD называется.
     
  13. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    А через что её включать?
     
  14. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    в php.ini должна быть строка
    Код (Text):
    1. extension=php_gd.dll
    если она закомментирована, нужно раскомментировать.
     
  15. Sinkler

    Sinkler Активный пользователь

    С нами с:
    25 июн 2006
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Краснодарский край
    Спасибо большое, помогло (правда превьюшка не лучшего качества, но это уже дело техники)
     
  16. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург