ページ 11

GetPixel

Posted: 2010年10月28日(木) 19:05
by kokuoutyou
ただいまDXライブラリでペイントツール制作しています
そこで質問したい事があります
画像の保存についてです
ただいま画像の保存にGetPixelを使っています
ですが保存が遅いのかGetPixelが遅いのかよくわかりません
これってGetPixelが遅いのでしょうか?
↓サンプル
void kakidasi()
{
int g=0;
char fname[256] = "test.but";
FILE *fp;
fp=fopen(fname,"w");
if(fp == NULL)
{
return ;
}//プログラム終了
for(int i=0;i<windowy;i++)
{
for(int k=0;k<windowx-hik;k++)
{
g=GetPixel(i,k);
fprintf(fp,"%d\n",g);
}
}
fclose(fp);
}

Re:GetPixel

Posted: 2010年10月28日(木) 19:22
by めるぽん
GetPixel と fprintf は、両方ともそれなりに遅い関数ですね

Re:GetPixel

Posted: 2010年10月28日(木) 20:37
by うしお
蛇足かもしれませんが、
これを機に、時間計測に挑戦してみてはいかがでしょうか?
それほど難易度も高くないはずです
実行速度は環境依存の場合もありますし、きっと役に立つかと思います

時間計測には
timeGetTimeや

より細かい値なら、
QueryPerformanceFrequency、QueryPerformanceCounter
などがあります。詳しくはmsdnのリファレンスをご覧ください

関数化、クラス化しておいて使いまわすと良い感じではないでしょうか

Re:GetPixel

Posted: 2010年10月29日(金) 06:45
by ゆーずぃ
そもそも何かもっといい関数がありそうですけどねぇ。
ペイントツールは作ったことが無いんで分からないですけど、GetDrawScreenGraphとかLoadSoftImage辺りとかはダメなんですか?