在asp.net c#中开发图像对比度,锐化,温暖,裁剪,撤消,重做功能

时间:2012-08-23 11:52:39

标签: c# image crop undo contrast

我想在我的网络应用程序中开发图像对比度,锐化,温暖,裁剪,撤消,重做功能。请告诉我如何开发此功能?我不想使用.GetPixel()和.SetPixel()因为它是非常慢的方法。所以请告诉我任何其他方式来开发这些功能。

先谢谢。

1 个答案:

答案 0 :(得分: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);