#c# #winforms
#c# #winforms
Вопрос:
Как получить красный компонент из изображения на C # (Windows forms). Я хочу получить красный компонент в новой матрице. Я пробовал что-то подобное с bmp:
byte[,] MatrixImage= new byte[256, 256]; // is my matrix where every pixel of my image is stored
byte[,] MatrixRed= new byte[256, 256];
Bitmap bmp = new Bitmap(256, 256);
for (int i = 0; i < 256; i )
{
for (int j = 0; j < 256; j )
{
var red = Color.FromArgb(MatrixImage[i, j], 0, 0);
bmp.SetPixel(i, j, red);
var getRedPixel = bmp.GetPixel(i, j);
MatrixRed[i, j] = (byte)getRedPixel;
}
}
Ответ №1:
GetPixel возвращает цветной объект, поэтому вы, вероятно, ищете это: MatrixRed[i, j] = (байт)(getRedPixel.R);
Комментарии:
1. У меня больше нет ошибок. Но почему мой образ такой: ibb.co/CsJ1QZs ?
2. byte[,] MatrixImage= новый байт [256, 256]; Эта строка не может быть исправлена. Почему исходное изображение должно иметь тот же размер массива, что и изображение, в котором в качестве канала используется только красный
3. Я предполагаю, что массив содержит всю информацию об изображении, поэтому вы можете смешивать каналы вместе.