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 回答