Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
  博客园  :: 首页  :: 联系 :: 管理

CxImage::Draw详解

Posted on 2012-11-05 19:31  Xiangism  阅读(3480)  评论(10编辑  收藏  举报

用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指定在显示时是否优化显示。