例如我一矩形区域,句柄的hDC,距形区域为TmpRect,TmpRect.left=0,TmpRect.top=0,TmpRect.right=60,TmpRect.bottom=40,在该距形区域正中画一直径为40的圆形区域,并且随便使用两种颜色渐变填充。

解决方案 »

  1.   

    例如有一矩形区域,句柄为hDC,距形区域为TmpRect,TmpRect.left=0,TmpRect.top=0,TmpRect.right=60,TmpRect.bottom=40,在该距形区域正中画一直径为40的圆形区域,并且随便使用两种颜色渐变填充。
      

  2.   

    API中填充的函数是否可以使用渐变色作为刷子,我不太清楚,因为从没有用过这类东西。不过,如果你对效率要求不高的话,为什么不自己画哪?而且这么作也不是没有提高效率的办法啊?比如实现把公式中浮点部分的值计算出来,在乘以比如1000转换为整型等。
      

  3.   

    是因为效率吗?所以,首先要确定你的需求啊:到底对效率要求高到什么程度?因为我们知道计算机画直线也好、画曲线也好,还是全部都是要用点的形式来表达,所以在精度要求不高的时候,我们完全可以在程序一开始就计算好一个比如半径100pixesl的圆的所有的坐标,剩下的就是按照比例放大、缩小了。当然,还有一些细节要考虑,不过因为都是整数运算,一般的性能要求我估计是够了。