За последние 24 часа нас посетили 19390 программистов и 1605 роботов. Сейчас ищут 898 программистов ...

Текст на картинке кривой

Тема в разделе "Обработка изображений средствами PHP", создана пользователем Lyona, 8 фев 2007.

  1. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород

    Все правильно он и дни считает, я уже писал по какому принципу
    вот
    http://all-reclama.ru/line/date_diff_forlyona.php
     
  2. Lyona

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

    С нами с:
    31 янв 2007
    Сообщения:
    58
    Симпатии:
    0
    pel, кажется, высокосные не влияют. Во всяком случае, я одну дату проверяла на разных годах, кол-во дней не менялось. А вот кол-во дней в месяце скорее всего это и даёт.

    Я уже думала, может дни стоит как-то отдельно считать. Например, смотреть число рождения и считать сколько дней после него прошло в прошлом месяце и суммировать с теми, которые уже прошли в этом. Кто знает, как лучше это сделать и в чём может быть подвох?
     
  3. Anonymous

    Anonymous Guest

    Кстати, понял, подвох в наших разных понятиях слова «месяц» =)
     
  4. Lyona

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

    С нами с:
    31 янв 2007
    Сообщения:
    58
    Симпатии:
    0
    в моём понимании, это неправильный подсчёт дней... Дни - это остаток после вывода года и месяцев. Т.е. не должно зависеть от 30-31 дней
     
  5. Lyona

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

    С нами с:
    31 янв 2007
    Сообщения:
    58
    Симпатии:
    0
    В твоём понимании это что?
     
  6. Anonymous

    Anonymous Guest

    В моем понимании счетный «месяц» зависит от календарного «месяца». У авторов скрипта, очевидно, другое мнение. =)
     
  7. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    О хоспади....

    Замените эту строчку в скрипте
    $base_mon_max = date ("t",mktime (0,0,0,$base_mon,$base_day,$base_yr));

    на эту
    $base_mon_max = 30;

    Должно заработать и удовлетворить :)
     
  8. Lyona

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

    С нами с:
    31 янв 2007
    Сообщения:
    58
    Симпатии:
    0
    Вльдемар, заменила, только на 31. Странно, пока не могу найти, в какой момент может получиться ошибка... :)
     
  9. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Поиграйся с февралем :)

    Хы.. поиграйся, ну и сказал :)
     
  10. xkspy

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

    С нами с:
    16 дек 2006
    Сообщения:
    45
    Симпатии:
    0
    А как сделать наоборот, чтобы скрипт отсчитывал дни до N-дня наступления (праздника, торжества и т.д.)? т.е. до дня "Рождения" осталось 5 месяцев 3 дня и .т.д.
     
  11. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Здравствуйте!
    Такой вопрос по этой теме. Значит мы можем переменные засунуть в графику и нам в броузере выйдет картинка, которую можно сохранить себе на жёсткий диск как обычное изображение. А реально сделать так, чтобы эта картинка сохранялась на сервере в каком-нибудь home/siteru/folder/image.jpg?
    Благодарю за ответы!
     
  12. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Mark32
    Аватарку смените, разрешены только личные фото.
     
  13. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Mark32
    Да, для этого достаточно убрать заголовок картинки и в конечной функции (допустим, imagejpeg) указать вторым параметром адрес.
     
  14. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Hight
    аватарку убрал совсем - моих хороших фото нету :(

    Kreker
    а можно поподробнее.. я использую

    Код (Text):
    1.  
    2.  
    3.  
    4. <?php header("Content-type: image/gif");
    5. $im = @ImageCreateFromPNG('paint.png') or die;  
    6.   $white = imagecolorallocate($im, 255, 255, 255);
    7.   $black = imagecolorallocate($im, 0, 0, 0);
    8.   imagettftext($im, 20, 0, 10, 200, $black, "/arial.ttf",  
    9.   "$mytext");
    10.   imagejpeg($im);
    11.   imagedestroy($im);
    12.  
    13. ?>
    и ещё вопрос. если попытаюсь вверх этого скрипта (сразу до или после header) поставить доболнительные скрипты, он не пашет. выдаёт что-то вроде headers had been already sent.... а мне нужно очень включить в этот файл ещё скрипты для обработки переменных которые будут на картинки (например скрипт который переводит цифры в буквы - и конечно вычисления должны производиться в этом же файле и до формирования картинки.

    Спасибо!
     
  15. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это убрать,
    imagejpeg($im, "адрес", 100);
    100 - это качество.
     
  16. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Kreker
    спасибо. всё OK!
     
  17. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Такая проблема.
    1. Если рисунок на который я вставляю текст - белый, мой текст становиться каким-то серым, несмотря на то, что в настройках стоит чёрный. И пропадает сглаживание - текст какой-то пиксельный. А если картинку поставить серую - то текст чёрный как надо и прекрасно сглаженный. Не могу понять в чём проблема!
    2. header("Content-type: image/gif"); если его убрать прекрасно всё работает если картинку сохраняем на сервер. Но вот если я хочу её получить сразу, без сохранения, то без этой строчки ничего не получается. Если её поставить - то всё работает, но нельзя никакие скрипты вставить выше этого кода - именно то происходит о чём я писал в предыдущем посте. Как избавиться от проблемы?
    Спасибо!
     
  18. Anonymous

    Anonymous Guest

    Это не проблема, а документированное поведение.
     
  19. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Как текст вставляешь?
     
  20. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    PHP:
    1. header("Content-type: image/jpg");  
    2. // решаем проблему с кодировками
    3.    function win2uni($s)
    4.    {
    5.      $s = convert_cyr_string($s,'w','i');
    6.      for ($result='', $i=0; $i<strlen($s); $i++) {
    7.        $charcode = ord($s[$i]);
    8.        $result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
    9.      }
    10.      return $result;
    11.    }
    12.          $GD2_JPG_TEXT = win2uni("Здесь текст");
    13.   $im = @ImageCreateFromPNG('sschet.png') or die;  
    14.   $white = imagecolorallocate($im, 255, 255, 255);
    15.   $black = imagecolorallocate($im, 0, 0, 0);
    16.  
    17.   imagettftext($im, 15, 0, 40, 757, $black, "/arial.ttf",  
    18.   "$GD2_JPG_TEXT");
    19. imagejpeg($im);
    20.  
    21.  
    22.   imagedestroy($im);
     
  21. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. $black = imagecolorallocate($im, 1, 1, 1);
    Так попробуй.
     
  22. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    не, не получается. цвет вообще неизменен чего бы не писали
     
  23. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    хм. интересно получилось.
    попробовал поставить так (без использования $black)
    PHP:
    1. imagettftext($im, 15, 0, 40, 757, 100, "/arial.ttf",  "$GD2_JPG_TEXT");
    в итоге весь текст сгладился и стал темнее, но всё же серым а не чёрным. Покрутил число по всякому не получается чернее. Подскажите может стоит что-то вписать или номер цвета (все числа трудно будет прокрутить:)
     
  24. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    реальная запарилова началась со скриптом. вроде никаких изменений не вносил, но тепеть при открытия моего файла, броузер предлагает его сохранить на жёсткий диск! Это как вообще получилось?
     
  25. Mark32

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

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    причём в опере открывается нормально. никаких лишних заголовков нет. может нужно поменять header("Content-type: image/jpg"); ?