• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:式を変更して画像を作りたいです)

式を変更して画像を作りたいです

このQ&Aのポイント
  • 画像を作成し、MAX_REPEAT回コピーした後、PPMファイルとして出力するプログラムを変更し、画像を作りたいです。
  • プログラムの式を変更して画像を作りたいと考えています。アイディアを教えてください。
  • gcc -Wall -O2 -DCIP ファイル名でコンパイルすることで、カラー画像を作成し、PPMファイルとして出力するプログラムを変更したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.2

#1 です.間違えました.orz void MakeImage(UCHAR image[][DIM2][DIM3],         int (*pixel_func)(int i, int j, int k)) {   int i, j, k;   for(i = 0; i < DIM1; i++) {     for(j = 0; j < DIM2; j++) {       for(k = 0; k < DIM3; k++) {         image[i][j][k] = (UCHAR)((*pixel_func)(i, j, k) & 0xFF);       }     }   } } です.

その他の回答 (1)

  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

#define MAKE_IMAGE(image, pixel_expr) \   { \     int i, j, k; \     for(i = 0; i < DIM1; i++) { \       for(j = 0; j < DIM2; j++) { \         for(k = 0; k < DIM3; k++) { \           (image)[i][j][k] = (UCHAR)((pixel_expr) & 0xFF); \         } \       } \     } \   } を使って MAKE_IMAGE(org, i * j + 10 * j + k * k) というのはどうですか? 別のやり方として, void MakeImage(UCHAR image[][DIM2][DIM3],         int (*pixel_func)(int i, int j, int k)) {   image[i][j][k] = (UCHAR)((*pixel_func)(i, j, k) & 0xFF); } static int PixelFunc1(int i, int j, int k) {   return i * j + 10 * j + k * k; } MakeImage(org, PixelFunc1); という方法もありますが,関数呼び出しのオーバーヘッドが大きすぎて遅いので, おすすめしません.

noname#61460
質問者

お礼

大変参考になりました。ありがとう御座いました。

関連するQ&A

専門家に質問してみよう