URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4401
[ Назад ]

Исходное сообщение
"Вывод графики php+GD "

Отправлено Александр , 10-Окт-06 17:39 
Используем, например, функцию imagefilledpolygon. Всё вроде нормально. Многоугольник рисуется. Но только на многоугольнике появляются каким-то непонятным образом распределённые точки.
Причём они появляются не каждый раз :-(. Общий вид диаграммы они конечно не сильно портят, но всё равно хотелось бы видеть изображение "чистым".
Может подскажет кто-нибудь как это можно сделать?
Используется php 5.0.1, gd 2.0.33 под FreeBSD 5.2.1

Содержание

Сообщения в этом обсуждении
"Вывод графики php+GD "
Отправлено Akademic , 10-Окт-06 18:51 
Ты бы скриншот выложил, а то непонятно. К тому же очень интересно.



"Вывод графики php+GD "
Отправлено Александр , 11-Окт-06 11:39 
>Ты бы скриншот выложил, а то непонятно. К тому же очень интересно.
>


<a href="http://www.imageupload.com/my.php?image=ddb25_pixels.jpg" target="_blank"><img src="http://www.imageupload.com/uploads/thumb_ddb25_pixels.jpg" border="0" alt="Free Image Hosting at www.imageupload.com" /></a>


"Вывод графики php+GD "
Отправлено Александр , 11-Окт-06 11:42 
Блин, думал картинка сразу в форум будет :-(
Короче вот прямая ссылка:
http://www.imageupload.com/uploads/ddb25_pixels.jpg



"Вывод графики php+GD "
Отправлено Akademic , 12-Окт-06 14:09 
Забавный эффект.
Ну а теперь код приложи, имхо всё дело в нём...
У меня GD по-младше *.28 и всё путём
Хотя дай ещё кусок phpinfo про GD

"Вывод графики php+GD "
Отправлено Александр , 12-Окт-06 14:47 
Блин с кодом проблемы возникают.
Просто это не один отдельный скрипт, а часть большого проекта с подключаемыми модулями,
дохрена переписать придётся, чтoбы отдельно запустить.
Сёдня запускал эту же хрень под виндовой php. Такая же байда.
Но! Только сегодня заметил, что если выводить в формат png, то эти дурацкие
точки всё-таки исчезают. Так что это дело решено пока так.
Если просто интересно в чём тут дело, то вот моя инфа о GD
gd
GD Support  enabled  
GD Version  bundled (2.0.33 compatible)  
GIF Read Support  enabled  
GIF Create Support  enabled  
JPG Support  enabled  
PNG Support  enabled  
WBMP Support  enabled  
XBM Support  enabled  

Тестил кстати и на 2.0.28 - та же байда с gif.



"Вывод графики php+GD "
Отправлено XAnder , 12-Окт-06 14:47 
>Блин, думал картинка сразу в форум будет :-(
>Короче вот прямая ссылка:
>http://www.imageupload.com/uploads/ddb25_pixels.jpg

Мусор, скорее всего, берётся оттого, что работа идёт с идексированным изображением и при этом используются цвета, которых нет в палитре. Вот GD и пытается подогнать цвет, как умеет, а умеет плохо.

PS: Как это Вам удаётся - JPEG, 312x297 и 106K? Может, другой формат попробовать?


"Вывод графики php+GD "
Отправлено Александр , 12-Окт-06 15:05 
Вот я всё-таки переписал эту функцию чтобы она работала отдельно от системы:

http://www.webfile.ru/1146924

Там только нужно немного исходник будет подправить, чтобы пути до файлов были те которые нужно.
Тут правда ещё одна проблема: выводятся только по 50 (в среднем)
столбиков гистограммы. Видать, палитра переполняется. И больше не рисует.
Тоже не совсем хорошо. Не подскажете, как бы её расширить?

PS Для XAnder - этот снимок отконвертен фотошопом. А так он гиф. И занимает наного меньше
(килобайт 20-30)


"Вывод графики php+GD "
Отправлено XAnder , 12-Окт-06 16:02 
>http://www.webfile.ru/1146924

У меня эта ссылка не грузится.

>Тут правда ещё одна проблема: выводятся только по 50 (в среднем)
>столбиков гистограммы. Видать, палитра переполняется. И больше не рисует.
>Тоже не совсем хорошо. Не подскажете, как бы её расширить?

В общем, как и предполагалось, дело в палитре. Расширить её на сколько угодно, скорее всего не получится - рано или поздно "уткнётесь" в предел. В GIFе, например, max размер - 256 цветов. На каждый столбик у Вас уходит минимум три цвета в палитре.

Как вариант - использовать True Color (RGB). Но я в GD с таким не работал, поэтому подсказать не могу.

Вариант посложнее - подобрать оптимальную палитру, жестко её прописать, а затем по ходу дела выбирать из неё наиболее подходящий цвет, а не "столбить" новые.

Соломоново решение - отказаться от многоцветия вообще (в нём всё равно смысла немного) - использовать несколько контрастных цветов и чередовать их.

>Но! Только сегодня заметил, что если выводить в формат png, то эти дурацкие
>точки всё-таки исчезают. Так что это дело решено пока так.

PNG получается индексированный или RGB? Если RGB, то понятно, почему проблемы исчезают - нет палитры.

>PS Для XAnder - этот снимок отконвертен фотошопом. А так он гиф.
>И занимает наного меньше
>(килобайт 20-30)

Понятно :)


"Вывод графики php+GD "
Отправлено Tingo , 22-Май-07 20:16 
Вместо imagecreate попробую использовать imagecreatetruecolor, те же параметры.

тогда все ОК.