Just nu i M3-nätverket
Gå till innehåll

Sortering av rgb färger


Zpeed

Rekommendera Poster

Hej, är det någon här som vet vart det finns en smidig algoritm för att sortera upp rgb färger så att en palett med dessa ser vettig ut?

Just nu skapas dom enlight färg=x.z.y

 

där forslingorna förenklade ser ut som följer:

 

 

Skrivs dessa färger ut efter när dom skapas så ser paletten ut som ett skämt.

 

 

[color="#0000ff"]for[/color](x=0;x=>C;x++)
{
  [color="#0000ff"]for[/color](y=0;y=>C;y++)
  {
    [color="#0000ff"]for[/color](z=0;z=>C;z++)
    {
     $färg=[color="#ff0000"]dechex[/color]($x).[color="#ff0000"]dechex[/color]($y).[color="#ff0000"]dechex[/color]($z)
    }
  }
}

 

Tack på förhand.

[inlägget ändrat 2005-04-09 20:14:04 av Zpeed]

Länk till kommentar
Dela på andra webbplatser

jag har

 

$table .= "<td bgcolor = \"$color\">

 

i slingan, så en tabell skapas med columner med färgerna.

 

jag kan dock spara färgerna i typ $farg[$i] för att kunna sortera dem och sedan skriva ut den fullständiga tabellen.

 

Till detta kan ju också tilläggas att algoritmen kan vara ganska komplex, för när färgerna väl har sorteras kopierar jag tabellen från källkoden och använder den som tabbel, så att paletten inte behöver genereras varje gång den ska visas.

 

jag har lagt upp den på adressen:

http://www.soetast.com/~zpeed/ColorPaletteGeneratorOpen.php

 

Länk till kommentar
Dela på andra webbplatser

De färger som finns är "3-dimensionella" (r/g/b).

 

Det går inte riktigt att åskådliggöra det i 2 dimensioner.

 

Själv tycker jag att ett färghjul + en intensitetsskala fungerar bra.

 

Ett annat sätt är att låta användaren ange t ex fyra "grundfärger". Presentera sedan en tabell där man blandar färgerna successivt mellan hörnen.

 

[Edit]

Kollade just ditt exempel.

 

Det är ju ett sätt som t ex DreamWeaver använder sig av. Nog för att Macromedia har gjort många bra saker, men detta sätt att välja en färg tycker jag tar priset som det mest komplicerade jag sett.

[inlägget ändrat 2005-04-09 21:34:36 av lizardKng]

Länk till kommentar
Dela på andra webbplatser

Jo, jag är väll medveten om att färgerna är i 3d och paletten i 2d, dock kan en algoritm som hanterar färgerna sortera dem så att dom ligger hyffsat ordnat efter färg. Jag kan skriva en matris-algoritm för detta men jag testade att skriva här för att slippa det, då jag är säker att det redan finns sådanna klara.

 

Skriver jag det som en triangel med r, g resp b i vardera spets och lägger in en intensitets slider som du sade t.ex så kan jag göra en vettig snygg bild av det, men egentligen behöver jag bara en algoritm som sorterar färgerna.

 

Länk till kommentar
Dela på andra webbplatser

Jag har för mig att jag gjorde en liknane grej där jag itererade fram HLS (Hue/Light/Saturation) istället för RGB och sedan konverterade HLS-värdena till RGB när jag ritade. Det var ett tag sen så det kan vara helt gälet också.

Här finns source för konverteringen i alla fall. ;)

 

http://php.amnuts.com/index.php?do=view&id=16

 

/

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...