用MFC做钟表界面,有指针的位图,要以位图的最下点为圆点进行旋转,不是左上点和中心点,请问该怎么实现????

解决方案 »

  1.   

    如果单纯显示钟表指针的话,用位图+旋转实现实在算不上好方法,直接用GDI语句根据时间角度画指针比较方便。
    当然如果指针图案比较花哨,自己画费劲的话,非要用位图,那就只能用图像旋转算法,核心思想是逆向映射算出旋转后图像里每一个像素位置在旋转前图中应该在什么位置,然后读出对应原图上的像素值。但是windows里面显示位图必须按照标准水平矩形显示,所以你除了画出旋转后的指针,还得把旋转后指针所占矩形范围内的表盘其他图像也重画一遍(这句话比较难表述,可能我说的不清楚,自己领会精神吧)。
    要不在复杂的算法就是用模板把旋转后指针从一个矩形图中“抠”出来,显示在表盘上。