1
我創建了當前的代碼,並在其中提供了開始和結束顏色以及步驟數。返回的是開始和結束顏色之間的顏色表格(數組)。使用「進度」值進行顏色混合
function getColorSteps(starting, ending, steps)
steps = tonumber(steps) or 1
local step = {
(ending[1] - starting[1])/steps,
(ending[2] - starting[2])/steps,
(ending[3] - starting[3])/steps
}
local palette = {
[1] = { unpack(starting) },
[steps] = { unpack(ending) }
}
for i=2, steps-1 do
palette[i] = {
starting[1] + (step[1] * i),
starting[2] + (step[2] * i),
starting[3] + (step[3] * i)
}
end
print("#palette = " .. #palette)
print("steps = " .. steps)
for i = 1, #palette do
print(
i ..
". rgb(" ..
table.concat(palette[i], ", ")
.. ")"
)
end
return palette
end
我想從步驟轉換爲「進度」。看到這個例子:
s,e = {255,255,255},{0,0,0}
getColorSteps(s,e,0)
> 255, 255, 255, 255
getColorSteps(s,e,0.5)
> 127.5, 127.5, 127.5, 127.5
getColorSteps(s,e,1)
> 0, 0, 0, 0
我只是不知道如何做到這一點...
a/b可能比s/e好 Lua表索引從1開始,但我理解你的代碼。 – qaisjp
在某些時候,B [i]肯定會少於[i]。我需要一個適當的解決方案.. – qaisjp
我向你提出一個(與最小/最大)。您也可以將數據複製到其他變量,並在適當時進行交換。我不知道哪個是最快的 –