За последние 24 часа нас посетил 22381 программист и 1139 роботов. Сейчас ищут 615 программистов ...

Наложение картинки на картинку

Тема в разделе "Обработка изображений средствами PHP", создана пользователем kamil-shagaliev, 27 июл 2008.

  1. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    Мне необходимо чтобы одна картинка (.jpg) накладывалась на другую картинку (.jpg)
    Читал что используется функция imagecopy,но выдает ошибку.

    можете ли показать пример, плиз, очень надо.
    ЗАРАНЕЕ СПАСИБО
     
  2. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Скинь код, который выдает ошибку. Посмотрим.
     
  3. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    $img='img.jpg';
    $logo='logo.jpg';
    imagecopy($img,$logo,0,0,0,0,120,180);

    после этого выходит ошибка:

    Warning: imagecopy(): supplied argument is not a valid Image resource in Z:\home\moda.okochelny.ru\www\func\catalogue.php on line 554
     
  4. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )

    нужно

    $img=imagecreatefromjpeg('img.jpg');
    $logo=imagecreatefromjpeg('logo.jpg');
    imagecopy($img,$logo,0,0,0,0,120,180);
     
  5. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    сейчас ошибок не выводит, но и фото не выводит
     
  6. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    а должно выводить? О_о

    добавь
    header("Content-Type: image/jpeg");
    imagejpeg($img);
    imagedestroy($img);
     
  7. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    ваууууу, БОЛЬШОЕ СПАСИБО ГОСПОДА
     
  8. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    У меня еще вопрос. Теперь я этот код сунул в цикл, когда у меня из базы выводит фото, то он должен на него ставить лого, но у меня ругается на header("Content-Type: image/jpg"); В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА?
     
  9. kamil-shagaliev

    kamil-shagaliev Активный пользователь

    С нами с:
    17 мар 2007
    Сообщения:
    23
    Симпатии:
    0
    В базе 10 фото, а выводит только 1 ПОЧЕМУ?
     
  10. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    попробуй сделать это отдельным файлом. и вызывай <img src="file.php?img=bla-bla.jpg" /> . И вообще я бы рекомендовал кешировать полученные картинки
     
  11. GudGuy

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

    С нами с:
    14 июн 2007
    Сообщения:
    909
    Симпатии:
    0
    Адрес:
    Москва
    практика показала, что картинки лучше сохранять, иначе нагрузка дикая, даи кол-во повторных обращений к файлу обычно ограниченно=)
     
  12. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    GudGuy
    ну я по это ему и говорю. Сделать че-то типа
    if(!file_exists($file)) {
    генерируем и сохраняем
    }
    выводим
     
  13. host

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

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    мда..
    Koc
    согласен в принципе ;)
     
  14. Professor

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

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    Я конечно не телепат, но мне кажется что вы отправляете заголовк ( header("Content-Type: image/jpg"); ) при каждой итерации цикла. А заголовки посылаются только ОДИН раз и только ДО вывода какой-либо информации. Вроде..
     
  15. gkhelloworld

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

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    кто подскажет почему не лепяться картинки? одна в одну!

    <?php
    $img=imagecreatefromjpeg("Untitled-1.jpg");
    $logo=imagecreatefromjpeg("1.jpg");
    imagecopy($img,$logo,0,0,0,0,120,40);
    ?>

    1.jpg = 120x40
    Untitled-1.jpg = 800x800
     
  16. Cron

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

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    1) что возвращают функции imagecreatefromjpeg и imagecopy?
    2) что ты дальше делаешь: выводишь на экран, сохраняешь в файл?
    попробуй сделать через вспомагательное созданное изображение:

    PHP:
    1.  
    2. $img    = ImageCreateFromJpeg("Untitled-1.jpg");
    3. $logo   = ImageCreateFromJpeg("1.jpg");
    4.  
    5. $im      = ImageCreateTrueColor(800,800);
    6. $bgc    = imagecolorallocate($im, 255, 255, 255);
    7. imagecopy($im, $img, 0, 0, 0, 0, 800, 800);
    8. imagecopy($im, $logo, 0, 0, 0, 0, 120, 40);
    9.  
    10. imagejpeg($im);
    пробуйте. сейчас проверить негде ;)
     
  17. gkhelloworld

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

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    дальше я сохраняю в файл... блин =) я уже и забыл чтобы надо вводить функции для сохранки файла.. гг.
     
  18. Cron

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

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    ну вот и разобрались... ;)
    я всегда говорил: главное правильно сформулировать вопрос.
     
  19. h2rd

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

    С нами с:
    17 сен 2008
    Сообщения:
    11
    Симпатии:
    0
    Доброго времени суток...
    У меня проблема с выводом 3-4 png картинок. они должны накладыватса одна на другую, а у меня получаетса так что выводит то что надо кусками а все другое просто черный екран.
    плз помогите =)
     
  20. h2rd

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

    С нами с:
    17 сен 2008
    Сообщения:
    11
    Симпатии:
    0
    нашол )
     
  21. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Хоть и давняя тема, увидел только сегодня после темы http://php.ru/forum/viewtopic.php?f=13&t=45586
    Сразу приложим еще тему http://php.ru/forum/viewtopic.php?f=11&t=8230&p=67825
    xhtml:
    Код (PHP):
    1. <img src="bla-bla.jpg?xxx" />
    html (нет в конце одинарных тегов, слеша " / "):
    Код (PHP):
    1. <img src="bla-bla.jpg?xxx">
    Где xxx-это параметр картинки, если название будет одно и тоже и мы изменили картинку, изменяя параметр у нас обновится картинка c тем-же названием.
    Старый кеш со временем удалится автоматически.