設置 | 登錄 | 註冊

目前共有6篇帖子。

同樣的代碼,昨天wifi能用,但是接收不了圖像數據

1樓 巨大八爪鱼 2016-4-5 14:13
今天能接收圖像數據,但是wifi立即失效,無法發送
2樓 巨大八爪鱼 2016-4-5 16:07
改成開機時在連接wifi前就立即初始化攝像頭:

現在可以了
3樓 巨大八爪鱼 2016-4-5 16:10
4樓 巨大八爪鱼 2016-4-5 16:12
5樓 巨大八爪鱼 2016-4-5 16:13
在開機時就把攝像頭初始化好,避免建立wifi線程後再初始化攝像頭導致wifi線程卡死
6樓 巨大八爪鱼 2016-4-5 18:05
void drawimg(LPDRAWITEMSTRUCT lpDis)
{
    BITMAPINFO bmi;
    BYTE *p, *pBits;
    ZeroMemory(&bmi, sizeof(BITMAPINFO));
    bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bmi.bmiHeader.biWidth = 800;
    bmi.bmiHeader.biHeight = 480;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 24;
    bmi.bmiHeader.biCompression = BI_RGB;

    HBITMAP hbmp = CreateDIBSection(lpDis->hDC, &bmi, DIB_RGB_COLORS, (LPVOID *)&pBits, NULL, NULL);
    HDC hdcMem = CreateCompatibleDC(lpDis->hDC);
    SelectObject(hdcMem, hbmp);
    FillRect(hdcMem, &lpDis->rcItem, (HBRUSH)GetStockObject(WHITE_BRUSH));

    FILE *fp;
    WORD len = 0;
    fopen_s(&fp, "reader.jfif", "r");
    fread(((BYTE *)&len) + 1, 1, 1, fp);
    fread(&len, 1, 1, fp);
    fseek(fp, 2, SEEK_CUR); // 跳過兩個字節

    int x, y;
    WORD wd;
    COLORREF color;
    int nLineLen = bmi.bmiHeader.biWidth * 3;
    if (nLineLen % 4 != 0)
        nLineLen += 4 - nLineLen % 4;
    for (y = 0; y < bmi.bmiHeader.biHeight; y++)
    {
        p = pBits + (bmi.bmiHeader.biHeight - y - 1) * nLineLen;
        for (x = 0; x < bmi.bmiHeader.biWidth; x++)
        {
            fread(&wd, 2, 1, fp); // 每隔像素為2位元組
            color = RGB(wd & 0x1f, (wd >> 5) & 0x3f, (wd >> 11) & 0x1f);
            //color = RGB(0, y, x);
            *(p + 2) = *((BYTE *)&color);
            *(p + 1) = *((BYTE *)&color + 1);
            *(p) = *((BYTE *)&color + 2);
            p += 3;
        }
    }
    fclose(fp);

    char txt[50];
    sprintf_s(txt, "圖像大小: %u 字節", len);
    SetTextColor(hdcMem, RGB(0, 255, 255));
    TextOutA(hdcMem, 10, 10, txt, strlen(txt));

    BitBlt(lpDis->hDC, lpDis->rcItem.left, lpDis->rcItem.top, lpDis->rcItem.right - lpDis->rcItem.left, lpDis->rcItem.bottom - lpDis->rcItem.top, hdcMem, lpDis->rcItem.left, lpDis->rcItem.top, SRCCOPY);
    DeleteDC(hdcMem);
    DeleteObject(hbmp);
}

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。