Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Цветовой сборщик - сильно зависает |
Автор: Sukhof 9.2.2006, 12:19 | ||
Доброе время суток! Есть задача написать под веб цветовой сборщик как в фотопопе, т.е. представлять три цветовые модели (RGB, Lab, CMYK) с возможность отображения только безопасных цветов. Отображение безоп цветов работает отлично т.к. всего 256 цветов. Принцип работа. Одна функция смешивает цвета. Вторая, получив цвет, вставляет его в html таблицу, получается палитра всех web -цветов. Проблему вызвало следующее. Когда я попытался создать полную палитру цветов (65536) то созданная мною функция явно выглядит громоскло и приводит к полному зависанию. Помогите усовершенствовать функцию смешивания цветов. функция выглядит вот так:
|
Автор: Ignat 9.2.2006, 15:29 |
Чтоб не выгдядело громоздко, можно HEX перевести в DEC и оперировать числами от 0 до 255. Однако существенного ускорения не будет, т.к. потребуются те же 65536 итераций. |
Автор: Mal Hack 9.2.2006, 15:37 |
А что если поработать с 16 ричной системой. Т.е. берем 16ричное число 00 00 00, и увеличиваем в цикле на 1. При этом, следим за остатком и если надо перекидываем. Я так понимаю, тут 1 цикл получается... Вечером, если идей не будет, могу попробовать что-ть накидать. |
Автор: Ignat 9.2.2006, 15:41 |
Кстати, действительно мысль... Только что-то я протупил, тут не 65 тыс. итераций, а 16^6=16.7млн ![]() Так что set_time_limit(0); и надеемся на лучшее. |
Автор: Mal Hack 9.2.2006, 16:04 | ||
Нашел у себя в загашниках кое-что. Подправил. Вот:
|
Автор: Ignat 9.2.2006, 16:08 |
Прикольно ![]() В одну итерацию два цвета. |
Автор: Mal Hack 9.2.2006, 16:10 |
В общем, работать будет долго... ![]() Щас поставлю на замер. |