我想在我的 Web 应用程序中开发图像对比度、锐化、暖色、裁剪、撤消、重做功能。请告诉我如何开发此功能?我不想使用 .GetPixel() 和 .SetPixel() 因为它是非常慢的方法。所以请告诉我开发这些功能的任何其他方式。
提前致谢。
如果您需要更快地访问图像上的像素数据,请使用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);