0

Web アプリケーションで画像のコントラスト、シャープ、ウォーム、クロップ、元に戻す、やり直し機能を開発したいと考えています。この機能を開発する方法を教えてください。.GetPixel() と .SetPixel() は非常に遅い方法であるため、使用したくありません。これらの機能を開発する他の方法を教えてください。

前もって感謝します。

4

1 に答える 1

0

画像のピクセル データにより高速にアクセスする必要がある場合は、 を使用しますImage.LockBits。このコードを含むメソッドはすべてマークする必要があることに注意してくださいunsafe

BitmapData bitmapData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);
int* bitmapPtr = (int*)bitmapData.Scan0.ToPointer();

for (int pixelCount = 0; pixelCount <= image.Width * image.Height; pixelCount++)
{
    bitmapPtr[pixelCount] = ...;
    // etc
}

image.UnlockBits(bitmapData);
于 2012-08-23T12:11:47.383 に答える