Hey montago
Paletten er lavet af din egen kode (Den nyeste version jeg kunne finde fra dit andet spørgsmål) Har bare brugt dine variabler "Coolness" og "Nuance" som x og y punkter for koordinaterne for de pixels der skulle farves. Det var faktisk kun at ændre et par linjer.
Jeg bruger komponentet dynImage, som er gratis og dækker de mest basale behov i den boldgade, men alle andre billedekomponenter ville kunne gøre det samme, og metoderne til det, vil sikkert hedde tæt på det samme. Dokumentation og download af dynImage kan ske her:
http://www.oz.net/~cashton/dynimage.html----------------------------------------------------
Koden:
----------------------------------------------------
<%
Dim oDynImage
Set oDynImage = CreateObject("DynImage.DynImage")
oDynImage.Open 300,300
'*****************************
' Start c/p fra montago (E.dk)
'*****************************
Response.Buffer = True
Dim Coolness, Tal
Tal = 200
FOR Coolness = 0 to Tal step 1
Dim intRed, intGreen, intBlue, strColor
if (coolness <= int(Tal/6)) then 'TAL<50
intRed = int((coolness / int(Tal/6)) * 255)
intGreen = 255
intBlue = 0
elseif (coolness > int(Tal/6)) and (coolness <= int(Tal/3)) then '50<Tal<100
intRed = 255
intGreen = int(((int(Tal/3) - coolness) / int(Tal/6)) * 255)
intBlue = 0
elseif (coolness > int(Tal/3)) and (coolness <= int(Tal/2)) then '100<Tal<150
intRed = 255
intGreen = 0
intBlue = int(255*((coolness - int(Tal/3))/(int(Tal/2)-int(Tal/3))))
elseif (coolness > int(Tal/2)) and (coolness <= int(Tal/1.5)) then '150<Tal<200
intRed = 255 - int(255*((coolness - int(Tal/2))/(int(Tal/1.5)-int(Tal/2))))
intGreen = 0
intBlue = 255
elseif (coolness > int(Tal/1.5)) and (coolness <= int(Tal/1.2)) then '200<Tal<250
intRed = 0
intGreen = int(255*((coolness - int(Tal/1.5))/(int(Tal/1.2)-int(Tal/1.5))))
intBlue = 255
else '250<Tal<300
intRed = 0
intGreen = 255
intBlue = 255 - int(255*((coolness - int(Tal/1.2))/(int(Tal)-int(Tal/1.2))))
end if
Dim Nuance, Tal2
Dim ROZ, GOZ, BOZ
Tal2 = 150
For Nuance = 0 to Tal2 step 1
if (intRed > 127) then
ROZ = int(255 - intRed / 2 / 127 * 255)
elseif (intRed < 127) then
ROZ = int(255 - intRed / 2 / 127 * 255) * -1
end if
if (intGreen > 127) then
GOZ = int(255 - intGreen / 2 / 127 * 255)
elseif (intGreen < 127) then
GOZ = int(255 - intGreen / 2 / 127 * 255) * -1
end if
if (intBlue > 127) then
BOZ = int(255 - intBlue / 2 / 127 * 255)
elseif (intBlue < 127) then
BOZ = int(255 - intBlue / 2 / 127 * 255) * -1
end if
if (Nuance < tal2/2) then
intRedNuance = int(Nuance/Tal2 * intRed *2)
intGreenNuance = int(Nuance/Tal2 * intGreen *2)
intBlueNuance = int(Nuance/Tal2 * intBlue *2)
elseif (Nuance > tal2/2) then '(255-Farve)/100 X + Farve
intRedNuance = int((510-(2*intRed))/Tal2 * Nuance) + (255-(510-(2*intRed)))
intGreenNuance = int((510-(2*intGreen))/Tal2 * Nuance) + (255-(510-(2*intGreen)))
intBlueNuance = int((510-(2*intBlue))/Tal2 * Nuance) + (255-(510-(2*intBlue)))
end if
intColor = (intRedNuance * 65536) + (intGreenNuance * 256) + intBlueNuance
oDynImage.SetPixel Coolness,Nuance,intColor
Next
Next
'*****************************
' Slut c/p fra montago (E.dk)
'*****************************
Response.ContentType = "image/png"
Response.BinaryWrite oDynImage.Image
oDynImage.Close
%>
Håber du kan bruge det til noget.