[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамическая картинка с использованием GD
sergeiss
Я подумал и решил, что не буду в той теме писать http://phpforum.ru/index.php?showtopic=22658&st=0, а создам новую.

Итак, по ссылке http://owndesign.ru/tests/rotate/rotate_gr...t.php?id=129812 находится "оживший" график, реализованный на PHP, с использованием только библиотеки GD. Даже без JS. И уж тем более безо всяких флэшей и других супер-современных средств.

"Вот что можно сделать из швейной машинки" smile.gif

Параметры можно как вводить вручную, так и 2 из 4 параметров управляются "кнопками-стрелками", что приводит к моментальному изменению картинки. После ручного ввода параметров надо нажать кнопку обновления.

Меняются угол поворота, размер столбиков (ширина), и общие размеры картинки.



Спустя 17 минут, 3 секунды (13.11.2009 - 16:38) stepan написал(а):
Класс, я восторге от увиденного rolleyes.gif

Спустя (13.11.2009 - 16:38) Grazor написал(а):
sergeiss
laugh.gif супер! только не хватает проверки введённых размеров

Спустя 2 минуты, 3 секунды (13.11.2009 - 16:40) sergeiss написал(а):
Цитата (Grazor @ 13.11.2009 - 17:38)
супер! только не хватает проверки введённых размеров

Каких именно??? Там заложена проверка по всем параметрам, которые имеются. Вроде бы... Сейчас гляну.

PS. Ёпрст.... Копипастил несколько строк и забыл в 3-х поменять параметры... Уже нормально всё стало, как и заявлено smile.gif

Спустя 2 минуты, 3 секунды (13.11.2009 - 16:42) Grazor написал(а):
sergeiss
я ввожу 100 * 100 - оно рисует мелко
ввожу (-10) * (-10) - ни ресует ничего

Спустя 1 минута, 26 секунд (13.11.2009 - 16:44) Grazor написал(а):
в общем, для размеров нет проверки wink.gif

Спустя 1 минута, 20 секунд (13.11.2009 - 16:45) sergeiss написал(а):
Grazor - уже есть, см. моё примечание выше smile.gif А тебе спасибо за бдительность smile.gif

Спустя 4 минуты, 29 секунд (13.11.2009 - 16:50) Grazor написал(а):
sergeiss
в общем красотища smile.gif

Цитата (sergeiss @ 13.11.2009 - 16:45)
Grazor - уже есть, см. моё примечание выше smile.gif А тебе спасибо за бдительность smile.gif

люблю всякие гадости вводить tongue.gif

Спустя 19 минут, 57 секунд (13.11.2009 - 17:09) Grazor написал(а):
ещё при повороте фон немножко съезжает (http://owndesign.ru/tests/rotate/rotate_graph_2d_test.php?id=129812&rotate_left=&rotation=95&scale=100&pic_w=640&pic_h=480), понятно почему
думаю, с этим труднее бороться

PS может тогда весь фон сделать одним цветом?
и на той же картинке подпись по Oy наехала на заголовок

Спустя 24 минуты, 30 секунд (13.11.2009 - 17:34) Gabriel написал(а):
серж маладца smile.gif вот теперь остались только всплываюшие подсказки для каждой картинки сделать и усе smile.gif а насчет отсутствия явы итд тож правильно php форефа.

Спустя 2 часа, 6 минут, 18 секунд (13.11.2009 - 19:40) kirik написал(а):
sergeiss
Во дела! smile.gif А паровоз можешь нарисовать? smile.gif
Забацай тогда подсветку колонок с использованием map (вроде так называется, когда активной становится только часть картинки).

Спустя 46 минут, 23 секунды (13.11.2009 - 20:27) sergeiss написал(а):
a
Цитата (kirik @ 13.11.2009 - 20:40)
Забацай тогда подсветку колонок с использованием map (вроде так называется, когда активной становится только часть картинки).

Была у меня такая мысль smile.gif Вот только фишка в том, что придется изворачиватья как-то очень хитро.
У меня же сейчас картинка формируется динамически, без записи в файл. То есть, по сути дела, готовятся данные для графика, они пишутся в БД, после чего страница передаются браузеру. И уже, по сути дела, он запрашивает картинку с определенными параметрами.

Чтобы сформировать map (без записи картинки на диск), мне придется дважды проводить обработку с одними и теми же параметрами. Один раз для создания map (и сохранить туда же в БД), а второй раз для построения картинки. Иначе я не смогу своевременно передать на страницу этот map...

Надо подумать smile.gif В принципе, задача решаемая. Вот только как себя будут вести пересекающиеся области map... Бум экспериментировать smile.gif


Спустя 5 минут, 55 секунд (13.11.2009 - 20:33) kirik написал(а):
Цитата (sergeiss @ 13.11.2009 - 12:27)
Вот только как себя будут вести пересекающиеся области map...

Да, кстати интересно..

Цитата (sergeiss @ 13.11.2009 - 12:27)
мне придется дважды проводить обработку с одними и теми же параметрами

А на стадии генерации изображения разве нельзя сразу генерить координаты для будущего map?

Спустя 25 минут, 33 секунды (13.11.2009 - 20:58) sergeiss написал(а):
Цитата (kirik @ 13.11.2009 - 21:33)
А на стадии генерации изображения разве нельзя сразу генерить координаты для будущего map?

Можно. Но после этого придется либо записывать картинку в файл, либо обрабатывать второй раз smile.gif
Объясняю, почему.
1. Скрипт выбирает данные из нескольких больших таблиц в БД, проводит кое-какие арифметические операции над данными, и затем пишет полученные данные в специальную таблицу в БД.
2. Одновременно скрипт пишет эти же данные в таблицы на странице (точнее, в переменные) и создает страницу, где будут выведены один или несколько графиков.
3. Страница окончательно сформировывается и отдается браузеру. Там указаны все данные для построения графика, аналогично тому, как в моем скрипте, как я показал. Его отличие от "реального" только в том, что он не лезет в БД, а все данные находятся в нем самом. Поэтому можно посмотреть в тестовом скрипте только один график. Всё остальное, включая параметры вызова - реальное.
4. Браузер строит страницу и вызывает все картинки. Которые размещает в указанных местах.

Вобщем, проще будет дважды обработать smile.gif

Сначала, когда данные для графика уже переданы в БД, передать их скрипту для построения МАПа (через include его подцепить, наверное), чтобы он эти данные вывел опять же в БД. Затем текущий скрипт уже может как передать на страницу информацию об АйДи текущего графика, так и построить МАП.

Я как тот профессор из анекдота... Пока объяснял - сам всё понял smile.gif

Ладно. Сделаю - покажу. Похоже, это уже несложно будет.

Спустя 50 минут, 14 секунд (13.11.2009 - 21:48) olgatcpip написал(а):
ВАУ!

Спустя 4 часа, 56 минут, 42 секунды (14.11.2009 - 02:45) haZe написал(а):
Аплодирую стоя!!!

Спустя 9 часов, 55 минут, 58 секунд (14.11.2009 - 12:41) sergeiss написал(а):
Вообще, каждый человек, глядя на графики такого типа, воспринимает их по-своему, как я понял smile.gif Иногда даже сложно догадаться, как именно. Но можно предположить. Что я и сделаю.
----
Примерно так:
Gabriel: "Круто... Я, наверное, так никогда не смогу... Впррчем, если основательно поковыряться, то и я тоже разберусь. Наверное".
Grasor: "Нормуль! И я тоже могу так, ежели понадобится. А сейчас проверим его скриптик на качество проверки параметров...".
stepan: весь в эмоциях
kirik: "Прикольно smile.gif А ну-ка, вот так вот можешь добавить? А вот эдак? А если вообще сикись-накись? Будет еще прикольнее и полезнее!" smile.gif
twin: "Так этож элементарно! Хотя и красиво, однозначно".
Hardwoman: "Чёрт побери... Срочно сажусь читать мануалы!"
gooder: "Фи... Да кто же этого не умеет-то? Нашел, что тут показывать! Иди на ХХХХ.ru, там пацаны круче делают"
olgatcpip: "ВАУ!!!"
SunSet: "А я готов поспорить, что...."
мои коллеги на работе: "Чёрт побери! Чё за шняга такая? Какого чёрта??? Этот сектор всегда нормально работал, а тут вдруг сломался. Срочно разбираемся!"
я: "Чего бы тут еще прикрутить... А то пока рассказывал, куча новых идея появилась... Или заняться более важными задачами, новые анализаторы статистики делать? Благо дело, тут уже целая очередь скопилась из того, что надо сделать. Да начальник новые идеи постоянно подкидывает. Только знай успевай реализовывать."

Спустя 3 часа, 31 минута, 59 секунд (14.11.2009 - 16:13) Gabriel написал(а):
Цитата
Gabriel: "Круто... Я, наверное, так никогда не смогу... Впррчем, если основательно поковыряться, то и я тоже разберусь. Наверное".

ну вот и ты тудаже smile.gif я ведь разберусь, только тогда когда : 1). будет на это время. 2). когда это будет нужно. ; а насчет "прикрутить чегототам" я стараюсь держать это при себе.

Спустя 42 минуты, 49 секунд (14.11.2009 - 16:56) Grazor написал(а):
Цитата (sergeiss @ 14.11.2009 - 12:41)
мои коллеги на работе: "Чёрт побери! Чё за шняга такая? Какого чёрта??? Этот сектор всегда нормально работал, а тут вдруг сломался. Срочно разбираемся!"

biggrin.gif

Цитата (sergeiss @ 14.11.2009 - 12:41)
Да начальник новые идеи постоянно подкидывает

а начальник как? wink.gif

Спустя 8 часов, 41 минута, 59 секунд (15.11.2009 - 01:38) nemo написал(а):
для чего и вчем особенности?

Спустя 20 часов, 23 минуты, 29 секунд (15.11.2009 - 22:01) sergeiss написал(а):
Цитата (nemo @ 15.11.2009 - 02:38)
для чего и вчем особенности?

А вот тут http://phpforum.ru/index.php?showtopic=22658 я писал smile.gif

Нужно для обработки статистики, для качественного визуального представления данных. Потому что объектов много, по каждому разбираться с цифирками очень сложно и долго. А тут только глянул - и хотя бы уже понятно, есть ли проблемы. И надо ли "копать" дальше и глубже.

Спустя 2 месяца, 27 дней, 2 часа, 59 минут, 40 секунд (15.02.2010 - 01:01) qpayct написал(а):
прикольненько, жаль мало. давай ЕШО!

размер картинок впечатляет.

Спустя 4 часа, 26 минут, 53 секунды (15.02.2010 - 05:28) dr_Lev написал(а):
Неполохо было бы еще и поворот по вертикали сделать... ну или переключение на двухмерный режим X-Y... ато не всегда можно увидеть все столбцы... например как на картинке в посте http://phpforum.ru/index.php?showtopic=22658 самый дальний столбик в углу...


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.