循环调色可以通过改变颜色编号来表现流动或闪烁,而不移动图形本身。如果透明编号也参与轮换,原本空白的地方就可能出现颜色,破坏轮廓。
下面是一组独立的虚构游戏输入与逐步结果。先记录单位、编号和端点是否包含,再尝试自己推算,最后对照第一处差异。所有结论都以本例规则为前提;其他作品采用不同约定时,应按它自己的说明重新计算。
本例规则与数据
图像只记录整数色号,零号固定透明,其余一到颜色数参与循环。偏移可为负,非零色号按循环次序移动,零号始终保持。本文记录的是逻辑色号,不计算具体颜色、亮度或视觉效果。
非透明色号1到6 [1, 1, 0, 1, 5, 0] [3, 2, 5, 1, 2, 0] [5, 0, 3, 1, 5, 1] [3, 3, 2, 0, 6, 3] 偏移[0, 6, -6, 2, -15, 12, -10, -8]
过程记录
偏移0等价于向前0格,轮换后的四行依次为[[1, 1, 0, 1, 5, 0], [3, 2, 5, 1, 2, 0], [5, 0, 3, 1, 5, 1], [3, 3, 2, 0, 6, 3]];透明零号位置保持不变。
偏移6等价于向前0格,轮换后的四行依次为[[1, 1, 0, 1, 5, 0], [3, 2, 5, 1, 2, 0], [5, 0, 3, 1, 5, 1], [3, 3, 2, 0, 6, 3]];透明零号位置保持不变。
偏移-6等价于向前0格,轮换后的四行依次为[[1, 1, 0, 1, 5, 0], [3, 2, 5, 1, 2, 0], [5, 0, 3, 1, 5, 1], [3, 3, 2, 0, 6, 3]];透明零号位置保持不变。
偏移2等价于向前2格,轮换后的四行依次为[[3, 3, 0, 3, 1, 0], [5, 4, 1, 3, 4, 0], [1, 0, 5, 3, 1, 3], [5, 5, 4, 0, 2, 5]];透明零号位置保持不变。
偏移-15等价于向前3格,轮换后的四行依次为[[4, 4, 0, 4, 2, 0], [6, 5, 2, 4, 5, 0], [2, 0, 6, 4, 2, 4], [6, 6, 5, 0, 3, 6]];透明零号位置保持不变。
偏移12等价于向前0格,轮换后的四行依次为[[1, 1, 0, 1, 5, 0], [3, 2, 5, 1, 2, 0], [5, 0, 3, 1, 5, 1], [3, 3, 2, 0, 6, 3]];透明零号位置保持不变。
偏移-10等价于向前2格,轮换后的四行依次为[[3, 3, 0, 3, 1, 0], [5, 4, 1, 3, 4, 0], [1, 0, 5, 3, 1, 3], [5, 5, 4, 0, 2, 5]];透明零号位置保持不变。
偏移-8等价于向前4格,轮换后的四行依次为[[5, 5, 0, 5, 3, 0], [1, 6, 3, 5, 6, 0], [3, 0, 1, 5, 3, 5], [1, 1, 6, 0, 4, 1]];透明零号位置保持不变。
每种结果都保留5个透明格,完整周期偏移还原原编号。
独立核对与实际应用
把非透明调色板排成一个环,按偏移逐格旋转后逐项查表,与取余计算比较。偏移一个完整周期应还原,先偏移再逆偏移也应得到原图,透明位置保持。
调色板轮换不保证每种配色都便于辨认,实际设计仍需考虑对比度和状态提示。透明编号是本例的特殊约定;如果文件格式采用独立透明通道,应先明确哪部分数据参与轮换,而不是直接套用这里的编号。
测试时先保留输入和中间状态,再只改变一个条件。空状态、正好相等、重复出现和最后一步都值得单独检查。若最终结果不符,应从第一处偏差查起,而不是在末尾随意增加补偿让数字表面一致。
