ターミナル上に、コマンドライン引数として指定された画像ファイルを表示するプログラムを作りました。しかし、元の画像を90度左に回転させた画像が表示されてしまいます。どこを直せば元の画像と同じ向きで表示されるのでしょうか。
#define STB_IMAGE_IMPLEMENTATION #include "stb_image.h" #include<iostream> int main(int argc, char *argv[]) { if(argc==2){ char const* filename=argv[1]; int width,height,num_channels; unsigned char* img; img=stbi_load(filename,&width,&height,&num_channels,0); if(!img){ std::cerr<<"Error: "<<filename<<"\n"; }else{ for(int x=0;x<width;x++){ for(int y=height-1;y>=0;y--){ int r=img[(x+y*width)*num_channels+0]; int g=img[(x+y*width)*num_channels+1]; int b=img[(x+y*width)*num_channels+2]; std::printf(" \033[48;2;%d;%d;%dm",r,g,b); } std::cout<<"\n"; } } stbi_image_free(img); }else if(argc>=3){ std::cout<<"./kadai09a:file"; }else{ std::cout << "sample.png"; } }