Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP+GD2: наложение текста = Ошибка + каракули :(

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<?php
 header("Content-type: image/png");
$im = @imagecreate(50, 100)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
 
При попытке создать изображение компилятор выдаёт ошибку.
Он что открывает созданую картинку в текстовом рехиме? А Warning выдаёт при любом коде который генерирует изображение! Конечно чтобы убрать Warning мона @ присобачить, но а как быть с остальным?
 
Warning: Cannot modify header information - headers already sent by (output started at z:\home\test1.ru\www\temp.php:9) in z:\home\test1.ru\www\temp.php on line 10
 
‰PNG  IHDR2dю&сPLTEяяяй[‘ЛќЈ  <<-- Это должно быть картинка




Исправил название /Cheery/

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 11:14 08-08-2004 | Исправлено: Cheery, 17:57 02-05-2005
DStream

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dumitralex

Цитата:
Он что открывает созданую картинку в текстовом рехиме?

У тебя же в варнинге написано:
Цитата:
Warning: Cannot modify header information - headers already sent...

Ключевое слово ALREADY

Всего записей: 605 | Зарегистр. 03-05-2003 | Отправлено: 12:07 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DStream разясни а то ничего не понял
 
Добавлено
коточе я убрал header("Content-type: image/png"); и ошибка не выскакивает но а с  
‰PNG  IHDR2dю&сPLTEяяяй[‘ЛќЈ что делать? как заставить его отображаться как картину

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 12:12 08-08-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
$im = @imagecreate(50, 100) or die("Cannot Initialize new GD image stream");
Убери собаку и не используй её до тех пор, пока не поймёшь, зачем и где она нужна.

Цитата:
При попытке создать изображение компилятор выдаёт ошибку.
Если компилятор (парсер) выдаёт ошибку, то программа вообще не будет выполняться.
Цитата:
Конечно чтобы убрать Warning мона @ присобачить, но а как быть с остальным?
Куда присобачить? К header? Иди читай FAQ: header
Цитата:
коточе я убрал header("Content-type: image/png"); и ошибка не выскакивает
Верни взад, если тебе нужно, чтобы браузер показывал картинку, а не plain/text
 

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 12:44 08-08-2004
SafeWay



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dumitralex
Конкретно этот скрипт отлично работает...

Всего записей: 365 | Зарегистр. 28-12-2003 | Отправлено: 13:50 08-08-2004
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dumitralex
скорее всего у тебя перед <?php есть пробел или перенос строки.

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 16:35 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот что надо изменить:
imagepng($im); на imagepng($im,"image.png"); а потом вывесть image.png через HTML
и всё бутет OK.  
   Спасибо всем кто постарался помочть!!!

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 18:55 08-08-2004
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dumitralex

Цитата:
а потом вывесть image.png через HTML  

я не понял, а ты что, этот пхп код вставлял прямо в хтмл?
это ты не решил проблему, это ты сделал методом тыка

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 19:33 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

xntx
 
<html>
 
<head>
  <title>PNG</title>
</head>
<body>  
 
<?php  
 header("Content-type: image/png");  
$im = @imagecreate(50, 100)  
    or die("Cannot Initialize new GD image stream");  
$background_color = imagecolorallocate($im, 255, 255, 255);  
$text_color = imagecolorallocate($im, 233, 14, 91);  
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);  
imagepng($im,"new.png");  
imagedestroy($im);  
?>
  <img src="new.png"border=0>  
</body>
 
</html>
Понимэ? Друг мой!
 
Добавлено
  xntx  
  header("Content-type: image/png");    <<<- Не пиши!!!! А то я забыл его удалить!

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 22:42 08-08-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumitralex

Цитата:
<html>  

это означает, что php УЖЕ выдал заголовки о том, что дальше пойдет html страница.
поэтому это

Цитата:
header("Content-type: image/png");  

и говорит, что заголовки были высланы раньше..
думай это как о потоках.. каждый поток соответствует только одному документу.. либо html, либо картинка.
поэтому html отдельно.. скрипт, выдающий картинку - тоже отдельно.
page.html
<html>  
 <head>  
  <title>PNG</title>  
</head>  
<body>  
 <img src="png.php" border=0>    
</body>  
 </html>  
 
 
 
png.php
<?php  
 header("Content-type: image/png");  
$im = @imagecreate(50, 100)  
    or die("Cannot Initialize new GD image stream");  
$background_color = imagecolorallocate($im, 255, 255, 255);  
$text_color = imagecolorallocate($im, 233, 14, 91);  
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);  
imagepng($im,"new.png");  
imagedestroy($im);  
?>

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:47 08-08-2004 | Исправлено: Cheery, 22:47 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
А у табя какя версия GD первая или вторая?

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 22:57 08-08-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumitralex

Цитата:
А у табя какя версия GD первая или вторая?

любая.. в данном случае не в ней дело..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:59 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
табя = тебя //Fatal error: Call to undefined word in ru-board on line 1

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 22:59 08-08-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumitralex

Цитата:
Fatal error: Call to undefined word in ru-board on line 1

чего? где? что за файл ru-board ?? и что там в первой строке?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:00 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
$табя!=$тебя потому что в php имена переменных чувствительны к регистру букв, и даже к малейшим изменениям в преременной! Во!

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 23:08 08-08-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumitralex

Цитата:
потому что в php имена переменных чувствительны к регистру букв, и даже к малейшим изменениям в преременной!  

ну и?? хватит флеймить.. есть вопросы - задавай... нет - во флейм.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:12 08-08-2004
dumitralex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот у меня такой вопрос:
как лучше читать записи из txt
при помощи file() записывать его в массив и потом отрабатывать каждый елемент при помощи explode() и выводить результат, или при помощи
feof() и fgets() а потом explode()
 
если записывать большие вайлы в масси, тормозить не будет?

Всего записей: 48 | Зарегистр. 26-02-2004 | Отправлено: 23:21 08-08-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumitralex

Цитата:
вот у меня такой вопрос:  

одна тема - вопросы по данной теме.. по другой - сначала фильтр и  
http://forum.ru-board.com/topic.cgi?forum=31&topic=3839#1


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:27 08-08-2004
vitovt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите плз как при помощи PHP можно наложить одну картинку на другую (загружаемую на сервер) так чтобы это было как воядной знак что-ли. Первая картинка гифовская с прозрачным фоном, а вторая, ту которую юзверь загружает.

----------
Автоспорт ТУТ

Всего записей: 1087 | Зарегистр. 02-05-2002 | Отправлено: 14:22 13-07-2005
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitovt
int imagecopymerge ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct)
 
Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y. The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy().  

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 14:58 13-07-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP+GD2: наложение текста = Ошибка + каракули :(


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru