Я сталкиваюсь с некоторыми трудностями при выполнении отражающей части фильтра. По сути, структура имеет вид
typedef struct
{
BYTE rgbtBlue;
BYTE rgbtGreen;
BYTE rgbtRed;
} __attribute__((__packed__))
RGBTRIPLE;
, и я пытался отразить изображение с помощью этой функции.
void reflect(int height, int width, RGBTRIPLE image[height][width])
{
for (int i = 0; i < height; i++)
{
if (width % 2 == 0)
{
for (int j = 0; j < width/2; j++)
{
RGBTRIPLE temp = image[i][j];
image[i][j] = image[i][width - j];
image[i][width - j] = temp;
}
}
else if (width % 3 == 0)
{
for (int j = 0; j < (width - 1)/2; j++)
{
RGBTRIPLE temp = image[i][j];
image[i][j] = image[i][width - j];
image[i][width - j] = temp;
}
}
}
return;
}
Код компилируется нормально, но конечный продукт совпадает с входным образ. Попытался запустить debug50, и я понял, что моя проблема заключается в том, как я меняю значения RGBTRIPLE. Любая помощь будет хорошей. Спасибо!