Я пытаюсь перевернуть изображение в C вертикально таким образом, если изображение < это закончится> и моя функция включает в себяПодавать Вершины с C
//Setting the struct up for the pixel's
struct pixel
{
unsigned char red;
unsigned char green;
unsigned char blue;
};
//Setting the struct up for the Image Type and scanning in the pxiels into an array
struct ImageType
{
char ppImage[3];
char comment[256];
char newlinechar;
int width, height;
int maxColor = 255;
struct pixel image[100][100];
};
//Function in order to flip the image, going from the left most pixel flipping with the right most
void MirrorVertical(struct ImageType imgur)
{
int x,y;
const int middle = imgur.width/2;
struct pixel tmp;
struct *pixel p;
for(y=0; y < imgur.height; ++y)
{
p = tmp + y * imgur.width;
for(x=0; x < middle; ++x)
{
tmp = p[x];
p[x] = p[imgur.width - 1 - x];
p[imgur.width - 1 - x] = tmp;
}
}
}
Я получил мои Структуры работать, но по какой-то причине мой функция не выведет его, я сканирую изображение в структуру, поэтому ....
//Scanning in the pixels for the first image
for(i=imageA.height-1; i <= 0; i--)
{
for(j=0; j < imageA.width; j++)
{
scanf("%hhu", &imageA.image[i][j].red);
scanf("%hhu", &imageA.image[i][j].green);
scanf("%hhu", &imageA.image[i][j].blue);
}
}
Что я делаю неправильно в своей функции?
Это должно быть
for(x=0; x < width; x++)
{
for(y = 0; y < height/2; y++)
{
temp = imgur.image[x][y];
imgur.image[x][y] = imgur.image[x][height-y-1]
imgur.image[x][height-y-1] = temp;
}
}
}
«Моя функция не выводит его». Можете ли вы уточнить свою проблему? Можете ли вы удалить все, что не имеет прямого отношения? – Floris
@Floris Извините, моя проблема в моей функции, я пытаюсь переключить свои свопы, мои пиксели, при сканировании с изображения PPM, на обратное или (зеркальное отображение).Я не могу понять, как взять то, что я сканировал для структурного пикселя, который является изображением.A.image [i] [j] .red и т. Д. ... и вызывает его внутри функции для обмена ниже –