Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Прорисовка
 
 автор: Денис   (28.07.2005 в 15:13)   письмо автору
 
 

Подскажите, пожалуйста, какие функции могут мне понадобиться для того, чтобы прорисовать рисунок. К примеру, мне нужно прорисовать рисунок с случайными числами и когда пользователь будет их вводить, проверять эти числа

   
 
 автор: cheops   (28.07.2005 в 18:38)   письмо автору
 
   для: Денис   (28.07.2005 в 15:13)
 

Для этого понадобится библиотека GDLib. Полный список функций с описанием можно найти в нашем справочнике функций http://www.softtime.ru/group/id_group=15. Приёмы работы с этой библиотекой описываются в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=38.

   
 
 автор: Денис   (29.07.2005 в 09:23)   письмо автору
 
   для: cheops   (28.07.2005 в 18:38)
 

Скажите, возможно я либо не правильно настроило к.-либо из частей сервера либо же ч.-либо не скачал но ни одна из функций этой библиотеки не работает. может быть это только в 5-й версии? я не сталкивался с такой проблемой и не знаю, как ее решить - подскажите.

   
 
 автор: cheops   (29.07.2005 в 11:41)   письмо автору
 
   для: Денис   (29.07.2005 в 09:23)
 

Дело в том, что в новых версиях PHP все расширения, включая и GDLib отключены по умолчанию - его необходимо включить, сняв комментарий (точка с запятой) напротив строки
extension=php_gd2.dll

в конфигурационном файле php.ini (C:\Windows\php.ini)

Подробнее об установке расширений можно почитать в теме по ссылке http://www.softtime.ru/info/articlephp.php?id_article=24

   
 
 автор: Денис   (01.08.2005 в 10:31)   письмо автору
 
   для: cheops   (29.07.2005 в 11:41)
 

не хочу показаться занудным, но у меня таже проблема:

<br />
<b>Fatal error</b>: Call to undefined function: imagecreate() in <b>c:\apache\htdocs\viewpoint v1.0\works\temp2.php</b> on line <b>3</b><br />

изменил extension=php_gd2.dll, перезапустил и все равно не идет :(

   
 
 автор: cheops   (01.08.2005 в 11:35)   письмо автору
 
   для: Денис   (01.08.2005 в 10:31)
 

Создайте скрипт
<?php
  phpinfo
();
?>

посмотрите - в нём имеется таблица с заголоком gd?

   
 
 автор: Денис   (01.08.2005 в 11:48)   письмо автору
 
   для: cheops   (01.08.2005 в 11:35)
 

создал, просмотрел, нет такого заголовка...

   
 
 автор: cheops   (01.08.2005 в 12:15)   письмо автору
 
   для: Денис   (01.08.2005 в 11:48)
 

Значит библиотека GDLib не подключена - где расположен конфигурационный файл php.ini? (Должен лежать в C:/Windows/php.ini)

   
 
 автор: Денис   (01.08.2005 в 19:00)   письмо автору
 
   для: cheops   (01.08.2005 в 12:15)
 

верно, там он и находится

   
 
 автор: cheops   (01.08.2005 в 19:10)   письмо автору
 
   для: Денис   (01.08.2005 в 19:00)
 

Хм... а точка с запятой напротив extension=php_gd2.dll точно снята?

   
 
 автор: Денис   (01.08.2005 в 19:14)   письмо автору
 
   для: cheops   (01.08.2005 в 19:10)
 

да, возможно, может быть ошибка в том, что я снял изначально снял " ; " с extension=php_gd2.dll, а потом еще и с extension=php_gd.dll? но это было уже во второй раз и после того, как я перезапустил Апач и проверил результаты phpinfo();

   
 
 автор: Денис   (29.07.2005 в 18:16)   письмо автору
 
   для: cheops   (28.07.2005 в 18:38)
 

Пытаюсь вывести прямоугольник с цифрами в нем.

header ("Content-type: image/png");
    $im = ImageCreate (200, 100)
            or die ("Ошибка при создании изображения");   
    $random = rand();      
    $couleur_fond = ImageColorAllocate ($im, 255, 0, 0);
       $couleur = imagepstext($im,$random,1,10,255,0,150,80);
    
    ImagePng ($im); 

однако же вывод следующий:
<br />
<b>Fatal error</b>: Call to undefined function: imagepstext() in <b>/var/www/html/test_p/progect_temp/temp2.php</b> on line <b>7</b><br />

Узнал, что "функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.", подскажите, как это зделать?

   
 
 автор: cheops   (29.07.2005 в 18:24)   письмо автору
 
   для: Денис   (29.07.2005 в 18:16)
 

Дело происходит под UNIX или Windows?

   
 
 автор: Денис   (29.07.2005 в 18:33)   письмо автору
 
   для: cheops   (29.07.2005 в 18:24)
 

Вообще я пишу под Windows но сервер под Linux

   
 
 автор: cheops   (29.07.2005 в 18:37)   письмо автору
 
   для: Денис   (29.07.2005 в 18:33)
 

А проблема где возникает под Windows или под Linux?

   
 
 автор: Денис   (29.07.2005 в 18:38)   письмо автору
 
   для: cheops   (29.07.2005 в 18:37)
 

под Linux

   
 
 автор: cheops   (29.07.2005 в 19:38)   письмо автору
 
   для: Денис   (29.07.2005 в 18:38)
 

А вы компилировали PHP когда-нибудь под Linux или использовали тот, что достался от дистрибутива?

   
 
 автор: Денис   (29.07.2005 в 19:47)   письмо автору
 
   для: cheops   (29.07.2005 в 19:38)
 

дело в том, что я работаю с дистрибутивом по Windows, но сами дистрибутивы находятся на сервере, который в свою очередь под Linux. я создаю скрипты, отлаживаю и работаю с ними и если возникают к.-либо проблемы - обращаюсь к админу. Сам же я не работал с РНР под Линуксом.
пока было время, нашел альтернативное решение

 header ("Content-type: image/png");
    $im = ImageCreate (110, 40)
            or die ("Ошибка при создании изображения");   
    $random = rand();      
    $couleur_fond = ImageColorAllocate ($im, 250, 250, 000);
    imagestring($im, 5, 10, 10, $random, 250);
    
    ImagePng ($im); 

выводит небольшой прямоугольник, желтого цвета, в котором выводится случайным образом определенное число. Это один из вариантов, хотелось бы к.-л. замаскировать сам рисунок - затушевать его, добавить различные штрихи в различных местах самого прямоугольника - ну вы понимаете,что я хочу зделать, верно? как это реализовать - пока не знаю, пытаюсь найти функции. может быть вы посоветуете к.-л. реализовать по другому мою задачу? использовать другое решение с "более широким спектром модификаций"?

   
 
 автор: cheops   (29.07.2005 в 19:57)   письмо автору
 
   для: Денис   (29.07.2005 в 19:47)
 

Узнайте у админа какая версия библиотеки GDLib установлена на сервере?

   
 
 автор: Денис   (29.07.2005 в 20:10)   письмо автору
 
   для: cheops   (29.07.2005 в 19:57)
 

такой библиотеки они не поддерживают. так что этот вариант отпадает. ну т.е. функций с такого модуля они не поддерживают

   
 
 автор: glsv (Дизайнер)   (04.08.2005 в 10:04)   письмо автору
 
   для: Денис   (29.07.2005 в 20:10)
 

>такой библиотеки они не поддерживают
Как же так может быть, когда вы в своих скриптах используете эту библиотеку и ее функции? Или вы не тестировали ваши скрипты на внешнем хосте? (те скрипты, что вы привели в этой теме)

   
 
 автор: Денис   (03.08.2005 в 20:56)   письмо автору
 
   для: cheops   (28.07.2005 в 18:38)
 

подскажите, пожалуйста, как правильно использовать функию imagesettitle. я пытаюсь использовать фоновое изображение следующим образом:

 $im = ImageCreate (105, 40)
            or die ("...");
  $i = ImageColorAllocate ($im, 250, 100, 000);
   imagecolortransparent ($im, $i);
   imagesettile($im, DIR_WS_CATALOG.'progect_temp/texture.png');
  ImagePng ($im);

однако пограмма отвечает
Warning: imagesettile(): supplied argument is not a valid Image resource in /var/www/html/test_p/progect_temp/test2.php on line 6
рисунок содержится в том же каталоге progect_temp в формате .png
нужен ваш совет

   
 
 автор: glsv (Дизайнер)   (04.08.2005 в 09:39)   письмо автору
 
   для: Денис   (03.08.2005 в 20:56)
 

Вот код с комментариями

<?php
// Создаем новое изображение
$img imagecreate (200200);
// Загружаем изображение, используемое в качестве рисунка фона.
$tile imagecreatefromjpeg("tile.jpg");
// Установливаем его в качестве фона (предварительная настройка)
// изображению $img - рисование пока не происходит
imagesettile($img$tile);
// Собственно функция закрашивающая изображения $img
// IMG_COLOR_TILED - специальный цвет, при его использовании 
// закраска производится фоновым изображением
imagefill($img11IMG_COLOR_TILED);

header("Content-type: image/jpeg");
imagejpeg($img);
?> 


   
 
 автор: Денис   (04.08.2005 в 12:03)   письмо автору
 
   для: glsv (Дизайнер)   (04.08.2005 в 09:39)
 

Спасибо большое, все получилось :)

   
 
 автор: Денис   (28.07.2005 в 19:57)   письмо автору
 
   для: Денис   (28.07.2005 в 15:13)
 

странно, я почему то вижу, что вы ответили, но не вижу самого сообщения :)
все, отобразилось

   
 
 автор: JC_Piligrim   (29.07.2005 в 11:55)   письмо автору
 
   для: Денис   (28.07.2005 в 19:57)
 

Если вы начинающий PHP-программист, могу посоветовать Denwer (джентельменский набор web-разработчика), в котором собраны и настроены самые необходимые компоненты для разработки PHP-приложений, такие как web-сервер Apache, PHP как раз с необходимой вам GD, MySQL.

http://www.denwer.ru

Но стоит учитывать, что весьма желательно научиться устанавливать и настраивать сервер самостоятельно. Но начать можно и Денвера, чтобы не отбить вкус к PHP-программированию возникающими трудностями при настройке рабочего окружения, если вы недавно начали изучать этот язык.

   
 
 автор: Duran   (04.08.2005 в 09:05)   письмо автору
9.8 Кб
 
   для: Денис   (28.07.2005 в 19:57)
 

Вот вам готовый работающий пример + кое-что еще, что может пригодиться

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования