За последние 24 часа нас посетили 36557 программистов и 1717 роботов. Сейчас ищут 872 программиста ...

Как наклеить логотип на фото PHP?

Тема в разделе "PHP для новичков", создана пользователем php4, 26 сен 2016.

  1. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    Как приклеивать одно изображение на другое, т.е. логотип или же водяной знак?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
  3. RainBowDash

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

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
  4. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @mkramer, Ну по первому ответу и сделал, фотографии подставляю а тут:

    Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\test.local\encode.php:3) in C:\OpenServer\domains\test.local\encode.php on line 19

    и дальше набор иероглифы
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    У тебя в третьей линии уже заканчивается вывод заголовков и начинается вывод данных. А потом ты вдруг пытаешься кинуть заголовок. А потом докидываешь свою картинку (иероглифы ж видишь). Борьба с заголовками одна из частых проблем у новичков. Чуть ли не раз в неделю поднимается этот вопрос.
     
    php4 нравится это.
  6. RainBowDash

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

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Нужно просто в заголовке указать что это изображение.
     
    php4 нравится это.
  7. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @Ganzal
    @RainBowDash

    Что нужно поправить?

    PHP:
    1. <?php
    2. // Загрузка штампа и фото, для которого применяется водяной знак (называется штамп или печать)
    3. $stamp = imagecreatefrompng('http://php.net/images/to-top@2x.png');
    4. $im = imagecreatefrompng('http://php.net/manual/ru/images/21009b70229598c6a80eef8b45bf282b-watermarks.png');
    5.  
    6. // Установка полей для штампа и получение высоты/ширины штампа
    7. $marge_right = 10;
    8. $marge_bottom = 10;
    9. $sx = imagesx($stamp);
    10. $sy = imagesy($stamp);
    11.  
    12. // Копирование изображения штампа на фотографию с помощью смещения края
    13. // и ширины фотографии для расчета позиционирования штампа.
    14. imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
    15.  
    16. // Вывод и освобождение памяти
    17. header('Content-type: image/png');
    18. imagepng($im);
    19. ?>
     
  8. RainBowDash

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

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    У меня все работает.
     
    php4 нравится это.
  9. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    Все работает, версия стояла 5.2
     
  10. RainBowDash

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

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Скорее всего вы используете его в составе другого скрипта поэтому у вас ничего не получается. Код рабочий. Проблема в том что у вас видимо что то выводиться на странице перед изображением и браузер не воспринимает заголовок image уже в таком случае. Звголовки должны выдаваться перед тем как отобразить страницу.
     
    php4 нравится это.
  11. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @RainBowDash
    Ну а если я хочу что-то добавить перед изображением допусти вывести "Hellow", то ошибка как изменить?:
    PHP:
    1. <?php
    2. echo "Hellow";
    3. ?>
    4.  
    5. <?php
    6. // Загрузка штампа и фото, для которого применяется водяной знак (называется штамп или печать)
    7. $stamp = imagecreatefrompng('http://php.net/images/to-top@2x.png');
    8. $im = imagecreatefrompng('http://php.net/manual/ru/images/21009b70229598c6a80eef8b45bf282b-watermarks.png');
    9.  
    10. // Установка полей для штампа и получение высоты/ширины штампа
    11. $marge_right = 10;
    12. $marge_bottom = 10;
    13. $sx = imagesx($stamp);
    14. $sy = imagesy($stamp);
    15.  
    16. // Копирование изображения штампа на фотографию с помощью смещения края
    17. // и ширины фотографии для расчета позиционирования штампа.
    18. imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
    19.  
    20. // Вывод и освобождение памяти
    21. header('Content-type: image/png');
    22. imagepng($im);
    23. ?>
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    зачем добавлять что - то тексто - выводимое в PHP SCRIPT OUTPUT IMAGE ?
     
  13. RainBowDash

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

    С нами с:
    22 июл 2013
    Сообщения:
    220
    Симпатии:
    8
    Никак , так это не работает. Можно оформить скрипт отдельным файлом и вставлять на страницу как изображение.
     
  14. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    @MAN_IFE_ST
    а зачем мне одна картинка? Я хочу разместить html страницу с php кодом, а в ней вывести это изображение
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    @php4 ты должен понимать для чего ты данный скрипт создал, для тексто выводимости или текст накладываемый на image
    --- Добавлено ---
    GD lib image работает отдельно от выводимости html структур.
    Данный скрипт можешь вызывать так: <img src="/путь/имя.php">
     
    php4 нравится это.
  16. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    Все понял, спасибо
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    плюсуй в карму всем помогающим ;)
     
    php4 нравится это.
  18. php4

    php4 Новичок

    С нами с:
    29 июл 2016
    Сообщения:
    91
    Симпатии:
    0
    + А как этот логотип расположить в нужном месте? Двигать по пикселям - допустим посередине разместить
     
  19. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    да начиная от верх левого края 1х 1y и так дальше, потести, погугли ключевыми словами "php GD разместить текст на img", интересно жИ когда сам себя обучаешь.