| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| В общем, работать будет долго... Щас поставлю на замер. |