Перевод части кода C++ Builder в C# - работа с изображением
Формулировка задачи:
Подскажите, пожалуйста, как эти 3 строчки написанные в Builder записать в C#. Особенно не понятен Canvas.
// Непосредственно в следующей строке происходит считывание значения яркости
//canvas (холст) - стандартная функция Builder'а для работы с изображениями. Canvas — это поверхность формы или компонента image, на которой соответствующие методы могут вычерчивать графические примитивы.
//Pixels[x][y] - представляющее собой двумерный массив, элементы которого содержат информацию о цвете точек холста.
А массив PixIn это:
crColor=(COLORREF)ImageSource->Canvas->Pixels[x][y]; R=GetRValue(crColor); // Значения яркости текущего пикселя заносим в R, PixIn[x][y]=R; // Заносим значения яркости текущего пикселя в массив PixIn по соответствующему адресу.
Ну это записано в циклах
for (int x=0;x<=maxH-1;x++) // По столбцам от 0 до максимальной высоты
for (int y=0;y<=maxW-1;y++) // По строкам от 0 до максимальной ширины
{
...
}
В C# это:
for (int i = 0; i <= maxH - 1; i++) // По столбцам от 0 до максимальной высоты { for (int j = 0; j <= maxW - 1; j++) // По строкам от 0 до максимальной ширины { ... //Те самые 3 строчки } }
int PixIn[1024][1024] или в C# int[,] PixIn = new int [1024, 1024]; // PixIn - в этот массив будут записаны значения яркости ВСЕЙ пикселей изображения
Решение задачи: «Перевод части кода C++ Builder в C# - работа с изображением»
textual
Листинг программы
fftw inmas, outmas; inmas = (...)fftw.malloc(N*N*sizeof(...)); // на входе, до БПФ, outmas = (...)fftw.malloc(N*N*sizeof (...)); // на выходе, после БПФ. for (int i = 0; i <= N - 1; i++) { for (int j = 0; j <= N - 1; j++) { //Рассматривается только действительная часть, мнимая часть равна 0 // in[a][b] - a может принимать любое значение от 0, //b - может принимать 2 значения: 0 для действительной части числа и 1 для мнимой. inmas[j + i*N, 1] = 0; inmas[j + i*N, 0] = PixIn[i + i1, j + j1]; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д