Здравствуйте, проблема в следующем:
Необходимо отображать на форме в PictureBox свою картинку
которая приходит по сети, при этом видеоданные проходят перед выводом распаковку и т.п. Распаковка находится в DLL.
Главная проблема в формирование картинки, сейчас использую SetPixel, при этом тратится уйма времени только на одно тупое распихивание точек.
'формирую картинку
For i = 0 To yy - 1 ' Y
ixx = i * xx
For j = 0 To xx - 1 ' X
myBitmap.SetPixel(j, i, Color.FromArgb(frame_o(ixx+j))) '255, r, g, b))
Next j
Next i
PictureBox1.Image = myBitmap ' вывожу
Как сие можно ускорить ?
Пробовал писать на C+API:
HBITMAP hBitmap;
HDC hCDC;
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint( hWnd, &ps );
hBitmap = CreateBitmap(width, height, 1, 32, image);
hCDC = CreateCompatibleDC(hDC);
hBitmap = (HBITMAP)SelectObject(hCDC, hBitmap);
BitBlt(hDC, 0, 0, width, height, hCDC, 0, 0, SRCCOPY);
hBitmap = (HBITMAP)SelectObject(hCDC, hBitmap);
DeleteObject(hBitmap);
DeleteDC(hCDC);
Скорость устраивает, но непонятно как заставить их с VB2005 работать.
Как можно решить данную проблему ? Какие еще есть варианты ?