相关疑难解决方法(0)

如何将byte []转换为BitmapImage?

我有一个byte[]代表图像的原始数据.我想把它转换为BitmapImage.

我尝试了几个我发现的例子但是我一直得到以下异常

"没有找到适合完成此操作的成像组件."

我认为这是因为我byte[]实际上并不代表图像而只是原始位.所以我的问题如上所述是如何将原始位的byte []转换为a BitmapImage.

wpf image type-conversion bitmapimage

12
推荐指数
2
解决办法
2万
查看次数

如何从像素字节数组创建BitmapImage(实时视频显示)

我需要在WPF控件上显示实时图像.我正在寻找使用WPF执行此操作的最快方法.

我正在使用其DLL API(AVT)从相机捕获图像.

图像由dll写入,摄像机使用IntPtr将回调上升到名为tFrame的Image结构(如下所述).像素数据存储在ImageBuffer属性中,其中InPtr为字节数组.

我知道如何从像素字节数组创建一个位图,但不是BitmapImage.因此可以创建一个Bitmap,然后从中创建一个BitmapImagem. 这里有一种从内存上的位图创建BitmapImage的方法.但我想直接从数据源(tFrame)创建BitmapImage.我怎样才能做到这一点?

我知道BitmapImage有一个CopyPixels方法,但它有一个SetPixels.

public struct tFrame
{
    public IntPtr AncillaryBuffer;
    public uint AncillaryBufferSize;
    public uint AncillarySize;
    public tBayerPattern BayerPattern;
    public uint BitDepth;
    public tFrameCtx Context;
    public tImageFormat Format;
    public uint FrameCount;
    public uint Height;
    public IntPtr ImageBuffer;
    public uint ImageBufferSize;
    public uint ImageSize;
    public uint RegionX;
    public uint RegionY;
    public tErr Status;
    public uint TimestampHi;
    public uint TimestampLo;
    public uint Width;
}
Run Code Online (Sandbox Code Playgroud)

这是我如何从像素字节数组创建位图.这是在WinForm版本的软件中使用的.

private void CreateBitmap(tFrame frame)
{
    //This …
Run Code Online (Sandbox Code Playgroud)

c# wpf video-capture bitmapimage

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

bitmapimage ×2

wpf ×2

c# ×1

image ×1

type-conversion ×1

video-capture ×1