编辑:我非常感谢您的回复。这里我最需要的是示例代码,用于说明我如何处理嵌套循环中的几行代码,因为这是在 GetPixel/SetPixel 中可以正常工作的,但也是我无法使用 Lockbits 正常工作的。谢谢
我正在尝试将图像处理过滤器从 GetPixel / SetPixel 转换为 Lockbits,以缩短处理时间。 我也在 Stack Overflow、MSDN 和其他网站上看到过 Lockbits 教程,但我做错了。 我从一个非常简单的滤镜开始,它只是减少绿色以创建红色和紫色效果。这是我的代码:
private void redsAndPurplesToolStripMenuItem_Click(object sender, EventArgs e)
{
// Get bitmap from picturebox
Bitmap bmpMain = (Bitmap)pictureBoxMain.Image.Clone();
// search through each pixel via x, y coordinates, examine and make changes. Dont let values exceed 255 or fall under 0.
for (int y = 0; y < bmpMain.Height; y++)
for (int x = 0; x < bmpMain.Width; x++)
{
bmpMain.GetPixel(x, y);
Color c = …Run Code Online (Sandbox Code Playgroud)