为什么下面的代码的结果导致文字输出两边,我只用了一次drawtext(“自己喜欢什么”),结果却输出两词(输出两个“自己喜欢什么”),不知怎么搞得,请高手指教!谢谢
BITMAPINFO bminfo;
    bminfo.bmiHeader.biWidth = nWidth;
    bminfo.bmiHeader.biHeight = nHeight;
    bminfo.bmiHeader.biBitCount = 8;//16Bit DIB
    bminfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bminfo.bmiHeader.biClrImportant = 0;
    bminfo.bmiHeader.biClrUsed = 0;
    bminfo.bmiHeader.biCompression = 0;//BI_RGB;//5-5-5格式,如果是5-6-5,则为BI_BITFIELDS
    bminfo.bmiHeader.biPlanes = 1;
    bminfo.bmiHeader.biXPelsPerMeter = 0;
    bminfo.bmiHeader.biYPelsPerMeter = 0;
    bminfo.bmiHeader.biSizeImage = 0;
    //构造5-5-5掩码,如果是5-6-5,则为:0xF800、0x07E0、0x001F
    //bminfo.bmiColors[0].rgbBlue = 0;
    //bminfo.bmiColors[0].rgbGreen = 0x7C;
    //bminfo.bmiColors[0].rgbRed = 0;
   // bminfo.bmiColors[0].rgbReserved = 0;
    //bminfo.bmiColors[1].rgbBlue = 0xE0;
    //bminfo.bmiColors[1].rgbGreen = 0x03;
    //bminfo.bmiColors[1].rgbRed = 0;
    //bminfo.bmiColors[1].rgbReserved = 0;
    //bminfo.bmiColors[2].rgbBlue = 0x1F;
    //bminfo.bmiColors[2].rgbGreen = 0;
    //bminfo.bmiColors[2].rgbRed = 0;
    //bminfo.bmiColors[2].rgbReserved = 0;   
    void *pImage = NULL;
    //Create a hbitmap
    HBITMAP hBitmap = CreateDIBSection(pDC->m_hDC,(CONST BITMAPINFO *)
                                       &bminfo,DIB_RGB_COLORS,
                                       &pImage,NULL,0);
    //假如你的数据已经是位图格式则如下:
    WORD m_nBytesPerLine = bminfo.bmiHeader.biWidth;//计算行字节
    //4字节对齐
    if(m_nBytesPerLine % 4 != 0)
        m_nBytesPerLine = (m_nBytesPerLine / 4 + 1) * 4;
    DWORD dwLen = m_nBytesPerLine * bminfo.bmiHeader.biHeight;
    memcpy(pImage,pBits,dwLen);
    //now ok.draw it..
//CDC *pDC1 = ::GetDC(NULL);
    CDC *m_pMemDC = new CDC;
    m_pMemDC->CreateCompatibleDC(pDC);
    CBitmap *m_pBitmap = new CBitmap;
    m_pBitmap->Attach(hBitmap);
    CBitmap *pOldBitmap = (CBitmap *)m_pMemDC->SelectObject(m_pBitmap);
    m_pMemDC->SetBkMode(TRANSPARENT);
    
    //
    //choose the font
m_pMemDC->SetTextColor(RGB(255,255,255));
CFont m_Font;
LOGFONT* m_pLF;
m_pLF=(LOGFONT*)calloc(1,sizeof(LOGFONT));
strncpy(m_pLF->lfFaceName,"Times New Roman",31);
m_pLF->lfHeight=64;
m_pLF->lfWeight=600;
m_pLF->lfItalic=0;
m_pLF->lfUnderline=0;
m_Font.CreateFontIndirect(m_pLF);

//select the font in the dc
//CDC dc;
//dc.Attach(TmpDC);
CFont* pOldFont=NULL;
if (m_Font.m_hObject) 
pOldFont = m_pMemDC->SelectObject(&m_Font);
else 
m_pMemDC->SelectObject(GetStockObject(DEFAULT_GUI_FONT));

//Set text color
//dc.SetTextColor(RGB(60,120,240));
//Set text position;

RECT pos = {40,40,500,500};
//draw the text
m_pMemDC->SetBkMode(TRANSPARENT);
//m_pMemDC->DrawText("Test",4,&pos,DT_CALCRECT);
m_pMemDC->DrawText("自己喜欢什么",20,&pos,DT_TOP   ); //font->GetLogFont(&logfont);
free(m_pLF); //m_pMemDC->SelectObject(pOld);
//m_pMemDC->SetTextColor(old);
memcpy(pBits,pImage,dwLen);
    m_pMemDC->SelectObject(pOldBitmap);
    delete m_pMemDC;
    m_pBitmap->Detach();
    delete m_pBitmap;
//ReleaseDC(NULL,pDC);
    
    
    //最后,把HBITMAP del掉
    DeleteObject(hBitmap);
return true;