За последние 24 часа нас посетил 16801 программист и 1644 робота. Сейчас ищут 899 программистов ...

[Решено] [Solved] Flat Shadow Icon

Тема в разделе "PHP для новичков", создана пользователем xddanik, 2 фев 2015.

  1. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Я вам обьясню всю ситуацию
    Код (PHP):
    1. <?php
    2. // Исходное изображение
    3. $kartinka = ImageCreateFromPNG("1.png");
    4.  
    5. // Накладываем текст на изображение:
    6. $cvet = 0; // (черный)
    7. $shrift = '4.ttf';
    8. $nadpis = $_GET['l'];
    9. imagettftext($kartinka, 200, 0, 380, 755, $cvet, $shrift, $nadpis);
    10. // 115 - x-координата;
    11. // 80 - y-координата;
    12. // 16 - размер текста;
    13. // 0 - угол наклона текста.
    14.  
    15. // Сохраняем новое изображение:
    16. $imya_faila = 'rezultat_sitehint.png';  
    17. ImagePNG($kartinka, $imya_faila);   
    18. imagepng($kartinka); //выводим изображение
    19. imagedestroy($kartinka);
    20. ?>
    Нужно сделать на текст $nadpis тень средствами php
    FlatShadow
    [​IMG]
    Что то типо этого! ↨
     
  2. rewuxiin

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

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    Re: Можно ли средствами php ....

    наклади средствами javascript
     
  3. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Re: Можно ли средствами php ....

    Если не трудно ответить то как это сделать?
     
  4. rewuxiin

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

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    Re: Можно ли средствами php ....

    гугли canvas
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Можно ли средствами php ....

    Канвас это не пхп =)
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    Re: Можно ли средствами php ....

    хитрая задачка! нормальную тень от текста сделать несложно: http://stackoverflow.com/a/15514986/272885
    но здесь тень "неправильная". надо какбы трассировать границы картинки и делать заливку…

    можно конечно в цикле 100500 копий буквы наштамповать со смещением y+1, x+1, получится такая картинка. но это как-то не по феншую.

    что-то мне подсказывает, что в фотошоп будет удобнее чтобы десяток значков сговнякать. или спросить у автора, на картинки которого ты ссылку дал ;)
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Можно ли средствами php ....

    Блин да просто надо серую букву нарисовать много раз смещая к углу.
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    Re: Можно ли средствами php ....

    о, пока редактировал, igordata о том же написал ;)

    Добавлено спустя 1 минуту 22 секунды:
    говно, но сработает
     
  9. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Re: Можно ли средствами php ....

    В фотошопе долго и код потом писать долго очень!
    Смещение не то! Он php скрипт какой то сделал!
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    Re: Можно ли средствами php ....

    Код (Text):
    1. imagefill($image,0,0,$background_color);
    2. for ($i=$y_offset+$size; $i > 0; $i--) {
    3.     imagettftext($image,$size,0,$x_offset+$i,$y_offset+$i,$shadow_color,$font,$string);
    4. }
    5. imagettftext($image,$size,0,$x_offset,$y_offset,$text_color,$font,$string);
    [​IMG]

    Добавлено спустя 9 минут 20 секунд:
    если таки оптимизировать, то наверное в цикле вместо вывода текста быстрее накладывать картинку с альфа-каналом. перед циклом сгенерить и в цикле накладывать со смещением.
    ну а так, работает и пофиг ;)
     
  11. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Re: Можно ли средствами php ....

    Ничего не получается одни ошибки!

    Добавлено спустя 5 минут 56 секунд:
    Re: [Решено] [Solved] Flat Shadow Icon
    [​IMG]
     
  12. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Покажи свой код, какие ошибки выдаёт.
     
  13. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Код (PHP):
    1. <?
    2. $width = 956;               //Ширина изображения
    3. $height = 2048;               //Высота изображения
    4. $image = imagecreatetruecolor($width,$height);    //создаем изображение
    5. $font = '4.ttf';
    6. $size = 200;
    7. $y_offset = 380;
    8. $x_offset = 755;
    9. $string = 'XD';
    10. $text_color = 0;
    11. $shadow_color = 0;
    12. $background_color = 1;
    13.  
    14. imagefill($image,0,0,$background_color);
    15. for ($i=$y_offset+$size; $i > 0; $i--) {
    16.     imagettftext($image,$size,0,$x_offset+$i,$y_offset+$i,$shadow_color,$font,$string);
    17. }
    18. imagettftext($image,$size,0,$x_offset,$y_offset,$text_color,$font,$string);
    19. ?>
    Он пустоту выдаёт!
     
  14. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Почему выдаёт пустоту? С чего ты взял, что он должен выдавать что-то другое?
    Ты хотя бы сверился с документацией https://php.net/manual/ru/function.imagettftext.php
    Разобрал простой пример из неё? Чтобы освоить и понять, что делает код?
     
  15. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Я понел в чём ошибка но всё равно выдаёт!
     
  16. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Отлично что выдаёт, я принял твоё телепатическое сообщение, хочешь чтобы всё сделали за тебя.
     
  17. xddanik

    xddanik Новичок

    С нами с:
    23 дек 2014
    Сообщения:
    24
    Симпатии:
    0
    Не не надо я уже сделал всё ок работает!
     
  18. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    поделись, что сделал, чтобы сработала.