gpt4 book ai didi

c# - 如何仅获取图像最后一行的像素并将其显示在图片框中。 C#

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:51 24 4
gpt4 key购买 nike

我有一个问题,我们如何才能仅获取图像最后一行的像素并将该行显示在 C# 应用程序的图片框中。

最佳答案

我看到的最简单(但也是最快)的方法是使用以下 Bitmap Constructor (Int32, Int32, Int32, PixelFormat, IntPtr)结合 Bitmap.LockBits 过载/Bitmap.UnlockBits像这样

static Bitmap GetLastRow(Bitmap source)
{
var data = source.LockBits(new Rectangle(0, source.Height - 1, source.Width, 1), ImageLockMode.ReadOnly, source.PixelFormat);
try { return new Bitmap(data.Width, data.Height, data.Stride, data.PixelFormat, data.Scan0); }
finally { source.UnlockBits(data); }
}

通常,只需更改 new Rectangle(...) 部分,您就可以使用此代码裁剪位图的任何矩形部分。

更新:事实证明,甚至还有一个预定义的方法 - Bitmap.Clone(Rectangle, PixelFormat) , 所以代码可以很简单

Bitmap source = ...;
var lastRow = source.Clone(new Rectangle(0, source.Height - 1, source.Width, 1), source.PixelFormat);

关于c# - 如何仅获取图像最后一行的像素并将其显示在图片框中。 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com