我正在尝试创建一个类似于MS Paint的拾色器.不幸的是,我无法弄清楚饱和算法.每当我尝试实现饱和度时,它都不会正确饱和.我不得不对算法中的饱和效应有所了解.

这是我当前的算法创建的.无论何时我尝试在Y轴上执行饱和效果,它只会使第一行之后的所有内容完全变为红色或黑色.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SFML;
using SFML.Graphics;
using SFML.Window;
namespace Source
{
public ColorWheel()
{
for (int y = 0; y < 255; y++)
{
for (int z = 0; z < 6; z++)
{
for (int x = 0; x < 255; x++)
{
uint ux = (uint)x;
uint uy = (uint)y;
uint uz = (uint)z;
ux = ux + (uz * 255);
image.SetPixel(ux, uy, color);
//Red 255 - …Run Code Online (Sandbox Code Playgroud) class Graphics
public static Image[] ImageArray = new Image[16];
Run Code Online (Sandbox Code Playgroud)
而在不同的班级里,
//Copy original Array
tempArray = Graphics.ImageArray;
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作tempArray静态变量的精确副本,它永远不会改变,但tempArray需要改变。它似乎不是复制静态变量,而是向其中添加另一个变量名。
因为如果我改变了tempArray,就好像我改变了一样ImageArray。如何ImageArray通过制作tempArray非静态副本来简单地复制?