|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
|
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Здравствуйте.
Столкнулся с тем, что при отрисовке окружностей и кругов диаметром более 2070 точек, вылезают искажения за пределами этой области. Код PHP такой:
А картинка, которая выводится этим кодом тут: http://info-7.ru/Astro/3000.php Вместо зелёного круга на чёрном поле - не пойми что... Что делать? Нужны круги и дуги с диаметрами примерно 2600-3000 точек. Это сообщение отредактировал(а) kuksha - 3.12.2011, 23:47 |
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
50 просмотров и тишина...
Я что-то не так спросил? Хоть попробуйте кто-нибудь у себя этот код - может только у меня так сбоит? Кстати, в первой строке вместо $i = imageCreate(3010, 3010); можно поставить например $i = imageCreate(1000, 1000); чтобы не упереться в ограничение памяти. Результат всё равно такой же - круги и дуги рисуются с искажением... |
|||
|
||||
$дмитрий |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
Запустить скрипт, результат тот же. В чем причина, не ясно. Мне один знакомый товарищ, который участвовал в разработке GD, рассказывал какие там используют кривые алгоритмы. Возможно внутренние ограничения самого imagefilledellipse. Как вариант, можно воспользоваться утилитой ImageMagic
|
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
ImageMagic только на перле использовал... это типа мини-фотошопа?
Если да, то наверное не подойдёт - у меня карта звёздного неба динамически просчитывается, там координатная сетка нужна с большими радиусами при увеличениях карты... Это сообщение отредактировал(а) kuksha - 5.12.2011, 20:29 |
|||
|
||||
$дмитрий |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
Это типа GD. но лучше |
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Посмотрел мельком - ну да, с этим я и работал в перловке, когда файлы надо было обрабатывать - размеры менять, резать и т.д.
Но, у меня то нет файлов - карта звёздного неба отрисовалась на экране у пользователя и больше никогда не понадобится, она постоянно меняется. То есть, обращение к диску только тормоза создаст дополнительные. В GD изображение вроде бы в памяти создаётся? За совет в любом случае спасибо, но наверное мне не подойдёт... А МОЖЕТ Я ВСЁ-ЖЕ НЕПРАВИЛЬНО ПОНЯЛ? Тогда аналог бы на ImageMagic того примера, что в первом сообщении. |
|||
|
||||
$дмитрий |
|
||||||||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
Такс, по порядку:
Что мешает предварительно вручную создать файл нужного разрешения, с нужным диаметром круга, а уже на это изображение накладывать координаты звезд? Так можно ограничится одним GD
Глупости. Это несоизмеримо с временем генерации картинки
Смущает то что ImageMagic выдает результат в файл? Никто не мешает, после создания карты, выводить результат в браузер и сразу удалять файл
Рекомендую все-таки почитать что такое ImageMagic
Масса примеров http://www.imagemagick.org/Usage/draw/ Это сообщение отредактировал(а) $дмитрий - 5.12.2011, 23:07 |
||||||||||
|
|||||||||||
$дмитрий |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
Не поленился, проверил. IM, без проблем, создает файлы большого размера. Причем, как и ожидалось, делает это оч. быстро
Получи и распишись
|
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
$дмитрий, спасибо!!!
Сразу в двух направлениях теперь копаться можно! Про заранее сделанный файл с кругами - вообще класс, красиво... кусаю локти что сам не додумался... ведь на поверхности лежало! |
|||
|
||||
Nigel |
|
|||
познаю мир Профиль Группа: Участник Сообщений: 515 Регистрация: 20.11.2007 Репутация: нет Всего: 19 |
Ради интереса запустил скрипт из первого поста - большой зеленый круг на черном фоне, никаких проблем.
PHP 5.3.5 |
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Nigel, вот это сюрприз... я думал только версия GD важна...
посмотрел: у меня php 5.2.12 Пошёл к провайдеру 5.3.6 заказывать как перенесут - отпишусь. |
|||
|
||||
$дмитрий |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
У меня на 5.3.5 касячило
|
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
И кому верить???
у меня сейчас PHP=5.2.12 и GD=2.0.34 Nigel, АУ! Поделитесь секретом! (а с обновлением php пока обождать придётся - для этого обещают часовой перерыв в работе, а на этой площадке у меня несколько сайтов... буду думать что делать...) |
|||
|
||||
$дмитрий |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: нет Всего: 45 |
kuksha, честно говоря ты совершено неправильно спроектировал свой сервис
Для отображения карты нужно использовать flash/canvas, а сервер должен отдавать только координаты |
|||
|
||||
kuksha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Насчёт "сервер должен отдавать только координаты" - координаты чего? Координаты объектов? А прорисовкой карты должен заниматься клиент? Да я только "за", особенно если учесть, что при теперешней конструкции сервер со временем рухнет от перегрузки...
Глядя на машинки вроде гугл-карт и ему подобные, я уже понял, что надо по-другому. Просто никогда такой графикой не занимался, совсем не знаю эти технологии. Вдобавок первоначально задачу поставил совсем простенькую - картинка и ничего больше, потом запросы к карте выросли, а остановиться вовремя не смог - вместо полной переделки стал улучшать то, что есть. Всё как обычно... Сейчас я всё-же хочу добить вопрос из первого сообщения, раз появилось сообщение, что у Nigel GD вдруг оказалось не таким кривым как у меня - это позволит очень просто убрать один из самых серьёзных функциональных недостатков этой карты, не растрачиявая впустую силы на имиджмеджик и эквилибристику с заранее сделанным файлом фона - всё равно даже в том виде оставлять нельзя. А потом спокойно за переделку возьмусь. Это сообщение отредактировал(а) kuksha - 22.12.2011, 23:29 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Графика | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |