我在单文档里画好了一个图,请问如何才能实现对他的局部放大呢?小弟刚学,希望能降解的清楚些!谢谢了

解决方案 »

  1.   

    白话两句首先要确定你所指的局部区域的像素位置,比如左上角和右下角。然后采用像素插值或者八邻域填充法对指定区域的像素进行操作,最后就哦了。Try it!
      

  2.   

    首先定位你要放大的区域,参考意见是用鼠标左键点击图象并按住,然后滑动鼠标座键,所形成的巨型区域就是你要放大的区域。你需要用到WM_LBUTONDOWN和WM_LBUTONUP消息,记录鼠标的坐标,并与图象象素的坐标象对应即可。
    这么做就相当于把这部分图象截取出来了,然后你可以仅对这部分图象做放大处理。
      

  3.   

    to 小飞:
    在一个单文档里,读入数据绘制了10*10的网格,现在想选中其中的几个网格,响应一个消息后对这几个网格进行放大,请问如何做?能否给作个小例子,小弟刚学,请多多指教![email protected]
      

  4.   


    CBrush* oldbrush;
    CPen pen(PS_NULL,1,RGB(255,255,255));
    CBrush  brush(RGB(255,255,255));
    oldbrush = (CBrush*)MemDC.SelectObject(&brush);
    MemDC.SelectObject(&pen);
    MemDC.SetROP2(R2_COPYPEN);
    MemDC.Rectangle(point1.x, point1.y, point2.x, point2.y);
    MemDC.SelectObject(&oldbrush);

    MemDC.StretchBlt(point1.x,point1.y,(point2.x-point1.x)*dig.m_ZoomX/100,(point2.y-point1.y)*dig.m_ZoomY/100,&TempDC,
    0,0,TempBm.bmWidth,TempBm.bmHeight,SRCCOPY);那两个点是被选区域的两个顶角的坐标.
    MemDC是一块内存DC,处理完了可以贴到屏幕上就行了.