Как я могу создать изображение с цветовым пространством 256x256, используя графическое рисование?В настоящее время я использую указатели, чтобы перебрать местоположение каждого пикселя и установить его.Синий идет от 0 ... 255 по X, а зеленый - от 0 ... 255 по Y. Изображение инициализируется следующим образом.
Bitmap image = new Bitmap(256, 256);
imageData = image.LockBits(new Rectangle(0, 0, 256, 256),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
for (int row = 0; row < 256; row++)
{
byte* ptr = (byte*)imageData.Scan0 + (row * 768);
for (int col = 0; col < 256; col++)
{
ptr[col * 3] = (byte)col;
ptr[col * 3 + 1] = (byte)(255 - row);
ptr[col * 3 + 2] = 0;
}
}
У меня есть ползунок, который идет на 0 ... 255Красный.При каждой прокрутке он проходит этот цикл и обновляет изображение.
for (int row = 0; row < 256; row++)
{
byte* ptr = (byte*)imageData.Scan0 + (row * 768);
for (int col = 0; col < 256; col++)
{
ptr[col * 3 + 2] = (byte)trackBar1.Value;
}
}
Я выяснил, как использовать ColorMatrix вместо прокручиваемой части, но как я могу инициализировать изображение без использования указателей или SetPixel