将原始字节数据转换为位图的处理时间长

时间:2014-04-03 05:18:30

标签: c# bitmap embedded windows-ce

我有一个将原始字节数据转换为位图的功能,以便显示。该过程正在使用Windows CE 6.0的嵌入式平台中完成。这个功能有效。但是,转换时间太长。

我不确定这个问题是源于我的逻辑还是其他原因。请指教。

    private  Bitmap GetBitMap(byte[] byImage)
    {
        Bitmap bm = new Bitmap(IMG_X, IMG_Y);
        for (int j = 0; j < IMG_Y; j++)
        {
            for (int i = 0; i < IMG_X; i++)
            {
                int rgb = (int)byImage[i + j * IMG_X];
                Color color = Color.FromArgb(rgb, rgb, rgb);
                bm.SetPixel(i, j, color);
            }
        }
        return bm;
    }

1 个答案:

答案 0 :(得分:0)

您似乎正在使用.NET,如果您需要执行图像处理,这可能不是最有效的解决方案。如果您计划开发高级应用程序,UI等,.NET Compact Framework非常有效且高效,但是在编译时,生成的机器代码不能像从本机编译器生成的代码那样优化。您还使用高级位图类来执行转换,每个setPixel调用将使用许多CPU周期。您可以编写一些C / C ++代码来执行此操作,直接在内存中写入位图数据并明确减少转换所需的CPU时间