小编Joh*_*hnY的帖子

在C#中解压缩JPEG图像的最快方法是什么?

我需要编写一个应用程序来播放DICOM多帧图像.每帧都以JPEG格式存储.所有帧都连续存储在一个文件中.现在,我读出每个帧数据并将其传递给以下例程,以构建一个用于显示的位图:

    Bitmap CreateBitmap(byte[] pixelBuffer, int frameSize)
    {
        Bitmap image = null;

        try
        {
            long startTicks = DateTime.Now.Ticks;
            MemoryStream pixelStream = new MemoryStream(pixelBuffer, 0, frameSize);
            image = new Bitmap(pixelStream);
            loadTime = DateTime.Now.Ticks - startTicks;
        }
        catch (Exception ex)
        {
            Log.LogException(ex);
        }

        return image;
    }
Run Code Online (Sandbox Code Playgroud)

在测试期间,除了上述例程中的性能不是最佳之外,一切正常.对于800x600帧大小,此例程所需的时间为0毫秒和15毫秒(我不知道为什么).对于1024x768帧大小,所需时间为15毫秒或31毫秒.我的目标是流式传输图像数据并以60Hz的频率播放图像(1024x768版本)而不丢帧.这表明我必须在15毫秒内不断地解压缩JPEG帧.所以我的问题是更好的方法是什么?

c# windows performance winforms

5
推荐指数
1
解决办法
2944
查看次数

标签 统计

c# ×1

performance ×1

windows ×1

winforms ×1