在一个编辑控件里输入一个文字,按确定后,
就把这个文字保存到位图文件中?
怎么做?最好有个例子

解决方案 »

  1.   

    使用DIB section。例子就要参考msdn或者codeguru了。
      

  2.   

    http://www.vckbase.com/document/viewdoc/?id=1659
    看看这个例子,里边功能似乎跟你的差不多~
      

  3.   

    在内存DC中加载位图,然后DrawText对话框中的文字到任意位置.最后保存DIB为BMP文件即可.简单的图形处理程序而已.
      

  4.   

    代码片段:CDC dc;
    dc.CreateCompatibleDC(NULL);
    CBitmap * pSaveBmp = dc.SelectObject(CBitmap::FromHandle(hBmp));
    CFont font;
    font.CreateFont(14,0,0,0,FW_THIN,0,0,0,DEFAULT_CHARSET,0,0,0,0,"Thamo"); //自定义字体
    CFont * pSaveFont = dc.SelectObject(&font);
    dc.SetBkMode(TRANSPARENT);
    dc.SetTextColor(RGB(255,0,0)); // 定义文字颜色
    CSize size=dc.GetTextExtent("Hello");
    int left=64-size.cx/2;
    int top=64-size.cy/2;
    dc.TextOut(left,top,"Hello");
    dc.SelectObject(pSaveFont);
    dc.SelectObject(pSaveBmp);
      

  5.   

    我想你的问题可能是显示的文字背景色,与前景色不是预想的。其实创建的内存位图只是一个单色的位图,你在上面写的字只能是黑色,或者是白色。
    SetTextColor(RGB(255,0,0)),与SetTextColor(RGB(255,255,0)),是一样的效果,只是一个非黑色的文字。真正的现实颜色,是由窗口DC的前景色与背景色决定的。转换关系如下:
    将一个单色DC传进彩色DC中,系统自动将单色位图中的 1 转化成彩色DC的背景色,0 转换成彩色位图的前景色。所以只有设定窗口DC的前景色与背景色才能真正达到效果。不过细心想想上面的说法,仔细修改。
      

  6.   

    为了参照加上代码,最好自己先消化消化呵呵,加油啊,一起进步。memDC.SetTextColor(RGB(255,255,0));
                          //使文字的颜色是不同于背景的,保证文字不被背景屏蔽
    memDC.SetBkColor(RGB(0,0,0));
                          //保证文字背景颜色与DC背景色相同,防止出现文字显示的不透明pDC->SetBkColor(RGB(255,255,0)); //真正的文字颜色
    pDC->SetTextColor(RGB(0,0,255));  //真正的文字背景色