现在小弟做一个图像处理的小程序,读取图片后列入列表,然后点击列表,在右方显示图片(图片为.BMP和.dcm的)然后想做两个按钮,实现点击LRotate图片向左旋转90度,点击RRotate图片向右旋转90度。假设图片显示控件m_display,LRotate按钮m_lrotate,RRotate按钮m_rrotate.请问我是在按钮的点击事件上写代码吗?小弟新手,希望大侠们能多指点,急着完成,希望高手能帮写下代码,感激不尽,小弟邮箱[email protected] ,希望大虾们不吝留下邮箱,让小弟向您多多学习,谢谢.是因为小弟新到菜鸟吗?为什么不让发那么多分数啊。我晕,以后一定弥补。

解决方案 »

  1.   

    GDI+应该可以实现
    你可以查查相关资料
    我记得网上好象有个类实现了你说的功能
    CImage应该也可以
      

  2.   

    例子 
    http://www.vckbase.com/code/viewcode.asp?id=346
      

  3.   

    PlgBlt
    函数功能:该函数对源设备环境中指定的矩形区域中的颜色数据位进行位块转换,并转换到目标设备环境中指定的平行四边形里。如果给定的位掩码句柄表示为有效的单色位图,那么函数使用该位图来对源矩形中的颜色数据进行掩码(屏蔽)操作。
      函数原型:BOOL PlgBlt(HDC hdcDest, CONST POINT *lpPoint, HDC hdcSrc,int nXSrc, int nYSrc, int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask);
      参数:
      hdcDest:指向目标设备环境的句柄。
      lpPoint:指向代表目标平行四边形3个角的3个顶点的数组指针。源矩形的左上角映射到该数组的第1个顶点,右上角映射为数组中的第2个顶点,左下角映射成第3个顶点。而右下角则映射成平行四边形中隐含的第4个点。
      hdcSrc:指向源设备环境的句柄。
      nXSrc:指定源矩形左上角的X轴坐标,按逻辑单位。
      nYSrc:指定源矩形左上角的Y轴坐标,按逻辑单位。
      nWidth:指字源矩形的宽度,按逻辑单位。
      nheight:指定源矩形的高度,按逻辑单位。
      hbMask:指向可选的单色位图的句柄。该位图是用来对源矩形的颜色进行屏蔽用的。
      xMask:指定单色位图左上角的X轴坐标。
      yMask:指定单色位图左上角的Y轴坐标。
      返回值:如果函数成功,那么返回值非零;如果函数失败,则返回值为零。
      Windows NT:若想获得更多错误信息,请调用GetLastError函数。
      备注:平行四边形的第4个顶点(D)是通过把头3个顶点(A、B、C)当作矢量,并按D=B+C+A计算来定义的。如果存在位掩码,那么掩码中的数值1表示应该将源像素的颜色拷贝到目标像素点上。掩码中的数值0表示不改变目标像素颜色。如果掩码矩形比源和目标矩形要小,那么该函数重复掩码模式。
      在源设备环境中,允许有伸缩、平移和反射变换,然而禁止有旋转和剪切变换。如果掩码位图不是单色位图,那将会出现错误。在需要时,目标设备环境用的伸展模式是用来定义如何拉伸或压缩像素的。
      当正在对一个增强型图元文件进行记录时,如果源设备环境标识为增强型图元文件设备环境,那么将出现错误。目标坐标根据目标设备环境进行变换,源坐标是根据源设备环境进行变换。如果源变换有旋转或剪切,那么会返回一个错误。如果目标和源矩形颜色格式不相同,那么Plgblt对源矩形进行转换,以与目标矩形匹配。不是所有设备都支持PlgBlt函数,若想了解更多信息,那么GetDeviceCaps函数中有关RC_BITBLT光栅特性的描述。如果源和目标设备环境代表不兼容设备,那么PlgBlt返回一个错误。以上是从百度找的
    要使用这个函数必须_WIN32_WINNT >= 0x0500
    也就是WIN2000以上
    lpPoint只需要给出3个点。
    当设置了#define _WIN32_WINNT 0x0500 要慎用CFileDialog
    会因为结构体大小不一致,导致在析构的时候,崩了
      

  4.   

    GDI+应该可以实现 
    你可以查查相关资料 
    我记得网上好象有个类实现了你说的功能 
    CImage应该也可以
      

  5.   

    如果单纯旋转90\180\270, 也可以先解出RawData, 然后对RawData旋转, 再显示
      

  6.   

    一定要用VC吗?我有一个Java的源程序。你需要的话。站内给我消息。
      

  7.   

    楼主你好,可否将你关于旋转的程序共享我一份,谢谢
    邮箱:[email protected]
      

  8.   

    楼主你好,可否将你关于旋转的程序共享我一份,谢谢!
    17391916972qq.com
      

  9.   

    大哥,能不能给我发个例子,我也做着呢,都快哭了[email protected],谢谢了