Faulheit siegt

Im Netz gibts eine Reihe von Seiten mit Farbpaletten, Farbkombinationen, Verläufe etc. (COLOURlover, Color Scheme, ColorBlender, ColorMatch Redux). Da ich nun keine Lust hatte in einer copypaste Orgie die Farben nach processing rüberzuholen, hab ich kleine Klasse geschrieben mit der man die Paletten in Processing einladen kann. Das gute ist nämlich, dass einige der Seiten die Möglichkeit anbieten die Paletten im .act bzw .cs Format zu exportieren. Einfach die Datei in data Ordner ziehen und mit der Klasse importiern. Das Ergebniss ist ein Array der alle Farben der geladenen Palette enthält.

//class to import .cs and .act palette files in processing
class Palette{
  color[] colors;
  Palette(String file){
    byte[] b=loadBytes(file);
    if(file.endsWith(“.cs”)){
      createPalette(b,8,26,b[2]&0xff);
    }
    else if (file.endsWith(“.act”)){
      createPalette(b,0,3,255);
    }
  }
  Palette(String file, int length){
    byte[] b=loadBytes(file);
    if(file.endsWith(“.cs”)){
      createPalette(b,8,26,length);
    }
    else if (file.endsWith(“.act”)){
      createPalette(b,0,3,length);
    }
  }
  void createPalette(byte[] b, int start, int steps, int length){
    colors=new color[length];
    int cnt=0;
    for(int i=0 ;i<length;i++){
      colors[i]=(0xff<<24)+((b[start+i*steps])<<16)+((b[start+i*steps+1])<<8)+(b[start+i*steps+2]);
    }
  }
}

void setup(){
  Palette p=new Palette(“test.cs”);
  strokeWeight(10);
  for(int i=0;i<p.colors.length;i++){
    stroke (p.colors[i]);
    line(10*i+5,0,10*i+5,height);
  }
}