サンプルプログラム(1) /*%%%%%%%%%%%%%%%%%%%%%% Begin Source-Code %%%%%%%%%%%%%%%%%%%%%%%%%%*/ /////////////////////////////////////////////////////////////////////// // Sample Program for Image Rotation // // by H. Nagahashi // /////////////////////////////////////////////////////////////////////// #include // // // "iip.h" 画像の回転は、反時計周りを正方向として角度で指定する 画像の左上端を原点として、(oy,ox) を回転中心とする 画像表示エリアは、元の画像サイズ int main(int argc,char *argv[]) { if (argc!=6 ||(argc>1 && strcmp(argv[1],"help")==0)) { cout << "\nUsage:" << argv[0] << " inputPGM rotationAngle" << " center_x center_y " << " outPGM" << endl; exit(1); } // 画像データの読み込み PGM& pgm = readPGM(argv[1]); //回転パラメータの取得 int angle, ox, oy; sscanf_s(argv[2],"%d",&angle); sscanf_s(argv[3],"%d",&ox); sscanf_s(argv[4],"%d",&oy); //作業エリアの確保 PGM& ary1 = createPGM(pgm.body.height, pgm.body.width); rotateArray(pgm.body, ary1.body, angle, ox, oy); //画像の出力 writePGM(ary1, argv[5]); deletePGM(ary1); deletePGM(pgm); return 0; } /*%%%%%%%%%%%%%%%%%%%%%%%% End Source-Code %%%%%%%%%%%%%%%%%%%%%%%%%%*/ 1
© Copyright 2024 ExpyDoc