作者共发了6篇帖子。 内容转换:不转换▼
 
点击 回复
225 5
同样的代码,昨天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);
}

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:225 回复数:5
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-4-5 18:05
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。