b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

cstring lpctstr_stretchdibits_bitmapinfoheader(4)

电脑杂谈  发布时间:2017-02-04 08:10:25  来源:网络整理

if ((HWND) wParam == hwnd)

break;

case WM_QUERYNEWPALETTE:

hdc = GetDC(hwnd);

f = DrawDibRealize (hdd,hdc,FALSE) > 0;

ReleaseDC (hwnd,hdc);

if (f)

InvalidateRect ( hwnd,NULL,TRUE);

break;

显示设备绘制

下面例子用DrawDibrealize函数在显示一个位图序列之前准备DrawDib DC.

hdc = GetDC(hwnd);

DrawDibBegin(hdd,hdc,dxDest,dyDest,lpbi,dxSrc,dySrc,NULL);

DrawDibRealize(hdd,hdc,fBackground);

DrawDibDraw(hdd,hdc,xDst,yDst,dxDst,dyDst,lpbi,lpBits,

xSrc,ySrc,dxSrc,dySrc,DDF_SAME_DRAW|DDF_SAME_HDC);

DrawDibDraw(hdd,hdc,xDst,yDst,dxDst,dyDst,lpbi,lpBits,

xSrc,ySrc,dxSrc,dySrc,DDF_SAME_DRAW|DDF_SAME_HDC);

DrawDibDraw(hdd,hdc,xDst,yDst,dxDst,dyDst,lpbi,lpBits,

xSrc,ySrc,dxSrc,dySrc,DDF_SAME_DRAW|DDF_SAME_HDC);

ReleaseDC(hwnd,hdc);

调色板

下面用了DrawDibRealize,DrawDibChangPalette和DrawDibDraw函数演示调色板。

能够用DrawDibBegin函数协同DrawDibChangepalette函数改变一幅位图的颜色。首先,在调用DrawDibBegin时指定DDF_ANIMATE标志允许调色板改变;然后,用DrawDibChangePalette函数从调色板入口设置颜色表的值。

例如,如果lppe是一个包含新颜色的PALETTEENTRY队列的地址,并且lpbi是在DrawDibBegin或DrawDibDraw中使用的LPBITMAPINFOHEADER结构,则后面的程序片段更新DIB的颜色表。

hdc = GetDC(hwnd);

DrawDibBegin(hdd,…,DDF_ANIMATE);

DrawDibRealize(hdd,hdc,fBackground);

DrawDibDraw(hdd,hdc,…,DDF_SAME_DRAW|DDF_SAME_HDC);

//改变颜色调用

DrawDibChangePalette(hdd,iStart,iLen,lppe);

……

ReleaseDC(hwnd,hdc);

下面给出一个实例的关键片段加以说明:(在Visual C++ 4.2 下Windows95或Windows NT环境下通过。)

void CTestDrawDibView::OnDraw(CDC* pDC)

{

CTestDrawDibDoc* pDoc = GetDocument();//得到文档指针

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

m_DibMem = pDoc->m_Buf;//得到DIB的内存

if (m_DibMem == NULL)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30454-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 于海阔
      于海阔

      敌人要到你头上拉屍

    热点图片
    拼命载入中...