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

bitblt_bitblt stretchblt_bitblt中源设备的像素(11)

电脑杂谈  发布时间:2017-01-20 00:03:23  来源:网络整理

xDst,

yDst,

dxSrc,

dySrc,

xSrc,

ySrc,

0,

dySrc,

lpdib,//lpbits,

(LPBITMAPINFO)lpbi,

DIB_RGB_COLORS);

if(0 == line)

{

AfxMessageBox("Error in SetDIBsToDevice");

}

*/

/*

// Using StretchDIBits使用StretchDIBits函数为对照

int line = StretchDIBits(hdc,

xDst,

yDst,

dxDst,

dyDst,

xSrc,

ySrc,

dxSrc,

dySrc,

lpbits,

(LPBITMAPINFO)lpbi,

DIB_RGB_COLORS,

SRCCOPY);

if(0 == line)

{

AfxMessageBox("Error in SetDIBsToDevice");

}

*/

// Using DrawDib使用DrawDib

// Set Dawing flag设置绘制标志

UINT wFlags;

//标志意义参见前面的函数参考,以下两个标志可绘出图象,

//其余标志在这种情况下绘不出图象。

wFlags = DDF_DONTDRAW;

//wFlags = DDF_NOTKEYFRAME;

HDRAWDIB hdd = DrawDibOpen();

if (hdd != NULL)

{

BOOL Suc = TRUE;

//具体参数请参见前面函数参考

Suc = DrawDibDraw(hdd,

hdc,

xDst,

yDst,

dxDst,

dyDst,

lpbi,

lpbits,

xSrc,

ySrc,

dxSrc,

dySrc,

wFlags);

if(Suc == FALSE) AfxMessageBox("DrawDib Failed");

/* //时间测试

DRAWDIBTIME time;

DrawDibTime(hdd ,&time);

char buf[256];

sprintf(buf,"Count %dDraw %dDecompress %d

Dither %dStretch %dBlt %d SetDIBits %d",

time.timeCount,time.timeDraw,

time.timeDecompress,time.timeDither,

time.timeStretch,time.timeBlt,

time.timeSetDIBits);

AfxMessageBox(buf);

*/

DrawDibClose(hdd);

}

else

AfxMessageBox("Error in DrawDibOpen");

GlobalUnlock(m_DibMem);//释放DIB句柄

}

附:函数参考:

DrawDibBegin

这个DrawDib函数改变一个DrawDib DC的参数或初始化一个新的DrawDib DC.

BOOL DrawDibBegin(

HDRAWDIB hdd,

HDC hdc,

int dxDest,

int dyDest,

LPBITMAPINFOHEADER lpbi,

int dxSrc,

int dySrc,

UINT wFlags

);

参数

hdd DrawDib DC的句柄

hdc 绘图DC的句柄。此参数为可选。

dxDst和dyDst 在MM_TEXT方式下目的矩形的宽度和高度。

lpbi 包含图象格式的BITMAPINFOHEADER结构的地址。DIB颜色表紧跟图象格式,并且biHeight成员必须为一正值。 dxSrc和dySrc 源矩形的宽度和高度(以象素为单位)。


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

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

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