だから、私はGUI、C#で簡単な画像処理プログラムを作っています。たとえば、HSVカラーモデルで画像の色を変更し、各ピクセルをRGBから変換して元に戻したいとします。WinAPIを使用してピクセル単位でイメージを高速に処理する方法は?
私のプログラムは、ユーザーの選択によって画像を読み込んで、グラフィックスコンテキストを使ってフォームのパネルの1つに表示します。次に、ユーザーはスクロールバーの移動、ボタンのクリック、画像領域の選択などを行うことで、この画像で何かを行うことができます。だから、私は何か書く:
for (int x = 0; x < imageWidth; x++)
for (int y = 0; y < imageHeight; y++)
Color c = g.GetPixel(x, y);
c = some_process_color_function_depending_on_user_controls(c);
g.SetPixel(x, y)
をそして、私は(ない画面上の)メモリにグラフィックスで作業しても、私のプログラムはとても遅い作品としてgetPixelメソッドととsetPixelは、とても(VERY SLOW働く機能し、私はそれをプロファイリングこの2つの機能が私のプログラムをほとんど遅くしていると説明した)。だから、ユーザーがスライダーを動かしたり、チェックボックスをチェックしたりするので、大きな画像を数回で処理することはできません。
助けてください!私のプログラムを速くするために私は何ができますか?私は他のサードパーティライブラリをグラフィックスやプログラミング言語の変更に使用することに同意しません。
+1、素敵! – asawyer