gpl to ase или как упорядочить цвет

Статус
Закрыто для дальнейших ответов.

AlexUnderBoots

Топикстартер
10 лет на форуме
Сообщения
105
Реакции
3
день добрый помогите советом. есть палитра цветов в ase. Как ее можно упорядочить по hue?

Нашел единственный способ - в gimp, но вернуть ее обратно в адобочитаемость не получается, glp и cсs не поддерживаются в indesign и photoshop (((((((((((((
 
Брр... Что за звери glp и ase? Откуда они берутся и что в итоге должно получиться?
 
Ааааа! Так он еще и бинарный! Ну экспортируйте во что нибудь XMLевское (например, ACB или ACBL) скриптом упорядочивайте и назад.
Хотя... По идее, скриптом можно внутри самого фотошопа переупорядочивать.
 
я не мастер писать скрипты, да еще и для мака, поэтому ищу велосипед ))
 
В кореле можно упорядочивать цвета в палитре.
Самое простое, что приходит на ум - сохранить палитру в каком нибудь изображении, импортировать в корел, затем там упорядочить и назад. Хотя это несколько заднепроходно. ;)
 
не проходит этот вариант, цвета земеняет, да и сохраняет только в xml
 
Радует уже то, что пользователя мака не пугает слово "корел" '))'
Что значит "цвета заменяет"? А XML тоже не проблема - можно ж обратно в растровое изображение палитру встроить - и снова в фотошоп.
 
Код:
this.rgbToHsl=function(rgb)
        {
            var r = rgb.red;
            var g = rgb.green;
            var b = rgb.blue;
            r = r/255, g = g/255, b = b/255;
         
            var max = Math.max(r, g, b);
            var min = Math.min(r, g, b);
            var h, s, l = (max + min) / 2;
         
            if(max == min){
                h = s = 0; // achromatic
            }else{
                var d = max - min;
                s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
                switch(max){
                    case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                    case g: h = (b - r) / d + 2; break;
                    case b: h = (r - g) / d + 4; break;
                }
                h /= 6;
            }
         
            return "H"+Math.round(h*360)+" S"+Math.round(s*100)+" L"+Math.round(l*100);
        }
     
this.rgbToHsv=function(rgb)
        {
            var r = rgb.red;
            var g = rgb.green;
            var b = rgb.blue;
            r = r/255, g = g/255, b = b/255;
         
            var max = Math.max(r, g, b);
            var min = Math.min(r, g, b);
            var h, s, v = max;
         
            var d = max - min;
            s = max == 0 ? 0 : d / max;
         
            if(max == min){
                h = 0; // achromatic
            }else{
                switch(max){
                    case r: h = (g - b) / d + (g < b ? 6 : 0); break;
                    case g: h = (b - r) / d + 2; break;
                    case b: h = (r - g) / d + 4; break;
                }
                h /= 6;
            }
         
            return "H"+Math.round(h*360)+" S"+Math.round(s*100)+" B"+Math.round(v*100);
        }
 
ребята, спасибо конечно за скрипты, но может есть какой-то велосипед решающий эту задачу 2-5 кнопками?
 
Не пойму, чем не нравится кореловский велосипед?
Пошаговая инструкция:

1) Открыть корел, нарисовать в нем что угодно, перевести в RGB bitmap
2) Bitmaps - Mode - Paletted (8 bit)
3) В открывшемся окошке Convert to paletted жмем Palette - Open нужный нам ACO файл
4) Идем в закладочку Processed palette, видим там наш набор цветов, жмем Edit - Sort colors - Hue
5) Возвращаемся в окно Convert to paletted - палитра упорядочена, жмем Ok
6) Получили индексированый битмап с упорядоченной палитрой, жмем правую кнопку мыши Save bitmap в формат, скажем, GIF
7) Полученный GIF открываем в фотошопе, жмем Изображение - Режим - Таблица цветов - Сохранить

Конечно, не двумя кнопками, но достаточно просто
 
Странное решение. Адобовским скриптом можно было вообще упорядочивать цвета безо всякого гимпа. Вдобавок, мой рецепт двумя сообщениями выше и для гимпа тоже работает. 'hz'
 
Статус
Закрыто для дальнейших ответов.