用CxImage::Draw可以方便地在windows窗体上画图,其函数原型如下:
void Draw(HDC hdc, long x=0, long y=0, long cx = -1, long cy = -1, RECT* pClipRect = 0, bool bSmooth = false)
hdc:HDC,窗体或者控件的绘图上下文句柄,在MFC的OnPaint函数中为CPaintDC dc(this),dc.m_hDc,在OnEraseBkgnd(CDC *pDC)中为pDC.m_hDC。
x,y,cx,cy 将内存中的图片定位到控件上。x,y是相对于控件的坐标,即显示部分相对于控件的偏移量。如果只想显示图片的中间一小部分,则可以将此值设置为负。cx,cy是显示区域的宽、高。整个图片将会被放缩到这个区域上。若想放大、或缩小显示图片,只需要确定这两个参数即可,并且cx,cy得与原图的比例一样,这样图片才不会长宽变形
pClipRect是控件的裁剪区间,设置大了不会有影响,设置小了会减少显示区间,不能通过这个参数来缩放或偏移显示,只会生硬地裁剪。
bSmooth指定在显示时是否优化显示。