Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод рисунка средствами PHP 
V
    Опции темы
Istergul
  Дата 29.12.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.11.2008

Репутация: нет
Всего: нет



Вот хочу попытаться вывести рисунок средствами пхп. Но броузер пишет опасность и выводит какой-то бред неопределённой кодировкой.

Код

<html>
<head>
<title>Рисунок</title>
<body>
<?php
    $height=200;
    $width=200;
    $im=ImageCreateTrueColor($width,$height);
    $white=ImageColorAllocate($im,255,255,255);
    $blue=ImageColorAllocate($im,0,0,64);
    ImageFill($im,0,0,$blue);
    ImageLine($im,0,0,$width,$height,$white);
    ImageString($im,4,50,150,'Продажи',$white);
    header('Content-type: image/png');
    ImagePng($im);
    ImageDestroy($im);
?>
</body>
</html>


Подскажите, кто знает, в чём тут ошибка?
Теоретически код правилен.
PM MAIL   Вверх
NNaarreekk
Дата 29.12.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Istergul, если ты выводишь что-нибудь то уже header у тебя не сработает!
Код

<html>
<head>
<title>Рисунок</title>
<body>
<img src='aa.php' />
</body>
</html>


aa.php
Код

<?php
    $height=200;
    $width=200;
    $im=ImageCreateTrueColor($width,$height);
    $white=ImageColorAllocate($im,255,255,255);
    $blue=ImageColorAllocate($im,0,0,64);
    ImageFill($im,0,0,$blue);
    ImageLine($im,0,0,$width,$height,$white);
    ImageString($im,4,50,150,'Продажи',$white);
    header('Content-type: image/png');
    ImagePng($im);
    ImageDestroy($im);
?>

PM MAIL WWW   Вверх
Istergul
Дата 29.12.2008, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.11.2008

Репутация: нет
Всего: нет



NNaarreekk, спасибо!) заработало)
только надпись "Продажи" вывелась неопределённой кодировкой. Это можно исправить?

ЗЫ Кучу одинаковых топиков я не создавал в разделе. возможно это глюк сервера.
PM MAIL   Вверх
theworldcreator
Дата 29.12.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



http://forum.wmaster.ru/lofiversion/index....729.html

Это сообщение отредактировал(а) theworldcreator - 29.12.2008, 21:10
PM MAIL WWW ICQ   Вверх
NNaarreekk
Дата 29.12.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Это добавь
Код

header('Content-Type: text/html; charset=utf-8'); 

или
Код

header('Content-Type: text/html; charset=windows-1251'); 

Смотря какая у тебя кодировка
PM MAIL WWW   Вверх
GZep
Дата 29.12.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Istergul, важно понять, что php файл не обязательно съинтерпритируется в html страницу. Он может "переделаться" в абсолютно любой файл, например, zip архив или pdf файл. По Вашему первому посту видно, что вы не совсем правильно поняли сам механизм работы интерпритатора.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Istergul
Дата 29.12.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.11.2008

Репутация: нет
Всего: нет



Что-то ничего не помогает :(
PM MAIL   Вверх
bars80080
Дата 29.12.2008, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



я честно говоря, не вижу загрузки шрифта и его использования
PM MAIL WWW   Вверх
theworldcreator
Дата 29.12.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Цитата

Что-то ничего не помогает :( 

Перевод в ASCII последовательности тоже, или вы не потрудились посмотреть по ссылке?

Добавлено через 2 минуты и 47 секунд
Цитата

я честно говоря, не вижу загрузки шрифта и его использования 

Там можно использовать один из пяти встроенных, в данном случае используется четвертый по счету.
PM MAIL WWW ICQ   Вверх
Istergul
Дата 29.12.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.11.2008

Репутация: нет
Всего: нет



theworldcreator, вставил функцию в код, получилось следующее

Код

<?php
       function iso2uni ($iso){ 
       $uni=NULL;
       for ($i=0; $i < strlen($iso); $i++){
               $thischar=substr($iso,$i,1);
               $charcode=ord($thischar);
               $uni.=($charcode>175)?'&#' . (1040+($charcode-176)) . ';':$thischar; 
    } 
       return $uni; 
       } 
    
    $height=200;
    $width=200;
    $im=ImageCreateTrueColor($width,$height);
    $white=ImageColorAllocate($im,255,255,255);
    $blue=ImageColorAllocate($im,0,0,64);
    ImageFill($im,0,0,$blue);
    ImageLine($im,0,0,$width,$height,$white);
    $win = 'бла.. \n ..бла';
    $iso = convert_cyr_string($win, 'w', 'i');
    $uni = iso2uni($iso);
    ImageString($im,4,50,150,$uni,$white);
    header('Content-type: image/png');
    ImagePng($im);
    ImageDestroy($im);
?>


Но теперь вообще выводятся html-коды, а не текст

Это сообщение отредактировал(а) Istergul - 29.12.2008, 21:42
PM MAIL   Вверх
theworldcreator
Дата 29.12.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Виноват, дал ссылку на непроверенное мной решение. Нашел другое, это уже проверилsmile
Возьмите любой ttf шрифт поддерживающий русские буквы(я взял Arial) и скармливайте его функции ImageTTFText().
P.S. если шрифт лежит в той же папке что и скрипт, то адрес до него не "font.ttf", а "./font.ttf"
PM MAIL WWW ICQ   Вверх
Istergul
Дата 29.12.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 26.11.2008

Репутация: нет
Всего: нет



theworldcreator, спасибо, разобрался) 

тему можно закрывать)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.