gpt4 book ai didi

c# - 将像素数据转换为 Bitmap int array- WP8 - C#

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:15 26 4
gpt4 key购买 nike

我想制作一个使用相机的应用程序,从中获取帧,将其转换并放在屏幕上。我从微软找到了一个教程,它通过转换为灰度来做到这一点,但我真的不需要那个。相反,我需要那个 int 数组,我必须像 8b 位图那样,这样我的转换函数才能正常工作。所以主要问题是如何将该像素数据数组转换为位图数组,然后再将其转回去,以便我可以显示它屏幕?另一种解决方案是直接从相机获取位图 int 数组,但我该怎么做?

我需要处理以下代码:

    void PumpARGBFrames()
{
// Create capture buffer.
Width = (int)cam.PreviewResolution.Width;
Height = (int)cam.PreviewResolution.Height;
int[] ARGBPx = new int[Width * Height];

try
{
PhotoCamera phCam = (PhotoCamera)cam;

while (pumpARGBFrames)
{
pauseFramesEvent.WaitOne();

phCam.GetPreviewBufferArgb32(ARGBPx);

//here i need to do the conversion back and forward

pauseFramesEvent.Reset();
Deployment.Current.Dispatcher.BeginInvoke(delegate()
{
ARGBPx.CopyTo(wb.Pixels, 0);
wb.Invalidate();

pauseFramesEvent.Set();
});
}

}
catch (Exception e)
{
this.Dispatcher.BeginInvoke(delegate()
{
// Display error message.
txtDebug.Text = e.Message;
});
}
}

所以,事实上我不需要位图,而是一个 int 数组作为 8b 位图的源。我从微软得到的教程是here .谢谢。

最佳答案

尝试这样的事情:

Bitmap bmp = new Bitmap(Width, Height);

for (int i = 0; i < ARGBPx.Length; ++i)
{
bmp.SetPixel(
i % Width,
i / Width,
/* something to create a Color object from the pixel int value */
}

关于c# - 将像素数据转换为 Bitmap int array- WP8 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770253/

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