Быстрое отображение необработанных пиксельных данных из байта [] .net Compact Framework - PullRequest
1 голос
/ 07 февраля 2011

Я играю с растрами и хочу узнать, как быстрее всего нарисовать байт [] на экране, используя .net CF.Массив является стандартным 24-битным растром (Screen.Width * Screen.Height * 3 в длину, порядок RGB), и сейчас я сохраняю массив в растровом объекте и рисую его на экране с помощью Graphics.DrawImage (bmp)метод.Я чувствую, что должен быть какой-то способ сделать это без необходимости создавать растровое изображение.

Я использую C #, но я могу перейти к нативному, если это необходимо (я бы предпочел P / Invokes, если это возможно), при условии, что это так)

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 07 февраля 2011

При рисовании изображений я обнаружил, что родной BitBlt работает намного лучше, чем при использовании .NET Graphics, вы можете использовать его для отображения Bitmap или даже использовать GDI для создания растрового изображения.

http://msdn.microsoft.com/en-us/library/aa923590.aspx

Пример использования BitBlt в .NET CF (хотя это противоположно тому, что вы делаете, и в VB.NET):

http://anoriginalidea.wordpress.com/2008/01/03/getting-a-screenshot-using-vbnet-on-the-compact-framework-20/

...