Вывод Php как Png?

Тема в разделе "PHP программирование", создана пользователем repz, 6 фев 2007.

  1. repz

    repz Гость

    Перекодировал так:
    Код (Text):
    $xxx=iconv('windows-1251', 'utf-8', $xxx);
    А вот с выводом вообще непонятки на локалхосте все работает, загружаю на рабочий сервер не распознает в .htaccess прописал
    Код (Text):
    AddType application/x-httpd-php .png
     
  2. GOsha

    GOsha Гость

    Если ты хочешь вывести PNG, в браузер, по-моему это не так делается...
    Скажи зачем, и покажи весь код.
     
  3. repz

    repz Гость

    Проблема в том, что на сервере не отображается вот часть кода в которой ошибки:
    Код (Text):
    $str=ereg_replace(" ","",$str); //óäàëÿåì ïðîáåëû
    $tatp='Ñîîáùåíèé:'.' '. $str.' íà 1 ôîðóìå';
    //$tatp = convert_cyr_string($tatp, "k", "w");
    $tatp=iconv('windows-1251', 'utf-8',$tatp); //ïðåîáðàçóåì â êîäèðîâêó utf-8

    $font = 'ARICYR.TTF';

    $string='Âàø ip àäðåñ'.' '. $REMOTE_ADDR;   //èï àäðåñ
    $string=iconv('windows-1251', 'utf-8',$string);
    $date=date('Äàòà d.m.Y - Âðåìÿ h.i.s');
    $date=iconv('windows-1251', 'utf-8',$date);     // äàòà
    //$bro="$HTTP_USER_AGENT";      //òèï áðàóçåðà
    $im = ImageCreateFromPng("img.png");
    $c = ImageColorAllocate($im, 0, 225, 225);
    imageTTFText ($im, 12, 0, 10, 60, $c ,$font, $tatp);
    imageTTFText ($im, 12, 0, 10, 20, $c ,$font, $string);
    imageTTFText ($im, 12, 0, 10, 40, $c ,$font, $date);
    ImagePng($im);
    ImageDestroy($im);
    В частности при обработке браузером выдает ошибку:
    Код (Text):
    imageTTFText ($im, 12, 0, 10, 60, $c ,$font, $tatp);
     
  4. repz

    repz Гость

    Могет хостер не держит GD Free Type?
     
  5. GOsha

    GOsha Гость

    Создай файлик info.php
    в котором напиши
    Код (Text):
    phpinfo();
    Поучишь настройки PHP для твоего хоста.
    Смотри, чтобы php был скомпилирован с withgd

    вариант проще:
    Код (Text):
    if(!function_exists(imageTTFText))
    {
    Echo 'There is no t-type support';
    }
    Если увидишь сообщение, то значит нет поддержки.

    Вариант 3:
    ты закачал файл шрифта на сервер?
    поверил путь к нему на существование?
    может просто он не находит шрифта, которым ты писал.

    Последнее: НАРОД! ПИШИТЕ ТЕКСТ ОШИБОК!!! чтобы я экстрасенсом не стал.
     
  6. repz

    repz Гость

    Вот собсна ошибка в сорцах:
    Код (Text):
    Call to undefined function: imagettftext()
    А вот в браузере:
    Изображение “http://ххх.ru/counter/logo.png” не может быть показано, так как содержит ошибки.
    А вот ответ phpinfo():
    Код (Text):
    gd
    GD Support            enabled
    GD Version              bundled (2.0.28 compatible)
    GIF Read Support     enabled
    GIF Create Support  enabled
    JPG Support                 enabled
    PNG Support               enabled
    WBMP Support             enabled
    XBM Support               enabled
    Шрифт лежит там же где и скрипт путь указан как:
    Код (Text):
    $font = 'ARICYR.TTF';
    или надо от корня сайта указывать, т.е. "counter/ARICYR.TTF"??

    Воот нашел, скриптик то выдал:
    Код (Text):
    There is no t-type support
    , что делать-то, как настроить с поддержкой t-type?
     
  7. GOsha

    GOsha Гость

    Это означает, что функция в данной компиляции PHP отсутствует.
    Выходы:
    1. Написать хостеру. Обычно они нормально реагируют на просьбы клиентов, если хост не бесплатный.
    2. Отказаться от TrueType
     
  8. repz

    repz Гость

    Нашел выход, использовал *.phpfont.
    Хостер сказал, что нет лицензии на использование ttype.
    Спасибо за помощь!
     
  9. repz

    repz Гость

    Вопрос еще, а как вставить туда изображение? Например:

    Код (Text):
    $td="<a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>";
    echo $td;
    Простым echo не получается.
     
  10. GOsha

    GOsha Гость

    Туда, это куда? ты хошь картинку вставить в PNG?
    Или просто показать картинку на странице?
    Если просто на странице, то должен echo сработать...
    Посмотри HTML-код страницы в поисках фрагментов кода вывода, мож он выводит де-нить криво.
     
  11. GOsha

    GOsha Гость

    Туда, это куда? ты хошь картинку вставить в PNG?
    Или просто показать картинку на странице?
    Если просто на странице, то должен echo сработать...
    Посмотри HTML-код страницы в поисках фрагментов кода вывода, мож он выводит де-нить криво.
     
  12. repz

    repz Гость

    После этого:
    Код (Text):
    imageTTFText ($im, 12, 0, 10, 20, $c ,$font, $string);
    imageTTFText ($im, 12, 0, 10, 40, $c ,$font, $date);
    ImagePng($im);
    ImageDestroy($im);
    пишу:
    Код (Text):
    $td="<a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>";
    echo $td;
    ,
    в сорцах при ентом видно код пнг и строчку
    Код (Text):
    <a href=http://wwp.icq.com/№№№№№№#pager target='_blank'><img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>
    Я хочу что бы на фоне пнг еще отображалось картинка, такое возможно?
     
  13. repz

    repz Гость

    Как моно регулярными выражениями типа:
    Код (Text):
    #(?<=: <strong>)([0-9,])+(?=</strong> \()#i
    получить тоже, что и:
    Код (Text):
    $str = '';
    $handle = @fopen("http:/хххх/index.php?showuser=х", "r");
    if (FALSE !== $handle)
    {
    $lineNumber = 0;
    while(!feof($handle) && (1674 != $lineNumber))
    {
    $str = fgets($handle);
    $lineNumber++;
    }
    fclose($handle);

    if (1674 == $lineNumber)
    {

    $str = substr($str,37,5);
    }
    }
     
  14. GOsha

    GOsha Гость

    Можно. Сначала получаешь картинку при помощи PHP.
    ПОтом ее накладываешь на свою PNG

    Насчет регулярок создавай отдельную тему.
    И не пиши получить то же, что и... а просто напиши задачу.
    Мне, думаешь, интересно читать твой код?
     
  15. repz

    repz Гость

    Вот вопрос в том, как ее наложить на png? если получаю я ее html кодом
    Код (Text):
    <img src=http://status.icq.com/online.gif?icq=№№№№№№&img=5 border=0 width=18 height=18></a>
     
  16. GOsha

    GOsha Гость

    Ты ее не получаешь HTML-кодом.
    Ты получаешь картинку в формате GIF.
    Функции PHP:
    exif_imagetype - определяет тип изображения
    imagecopymerge - копирует и объединяет часть изображения
    imagesx - получает ширину изображения
    imagesy - получает высоту изображения
    Посмотри документацию или любой учебник, по работе с изображениями и все станет ясно.
     
  17. Andrew Stephanoff

    Andrew Stephanoff Гость

    Лишь в том случае, когда установлено расширение EXIF
     
  18. GOsha

    GOsha Гость

    Для: Andrew Stephanoff
    Да все равно модули GD у всех по разному работают...
    Все нужно проверять, перед тем, как писать.
    Или делать скрипт, который обрабатывает все варианты рисунков и т.о. работает на всех хостах, де установлен хоть какой-нить GD.
     
Загрузка...

Поделиться этой страницей