绘制颜色渐变三角形

填充效果如下:

颜色渐变的三角形绘制

 

   P1, P2, P3为三角形三个点

   cP1, cP2, cP3为三角形三点所指定的颜色。

   void  DrawTriangle(CDC *pDC,POINT P1,POINT P2,POINT P3,

              COLORREF cP1,COLORREF cP2,COLORREF cP3)

  {

       TRIVERTEX        vert [4] ;

       vert [0] .x       P1.x;

       vert [0] .y       P1.y;

       vert [0].Red=GetRValue(cP1)<<8;

       vert [0].Green=GetGValue(cP1)<<8;

       vert [0].Blue=GetBValue(cP1)<<8;

       vert [0] .Alpha   0;

      

       vert [1] .x       P2.x;

       vert [1] .y       P2.y;

       vert [1].Red=GetRValue(cP2)<<8;

       vert [1].Green=GetGValue(cP2)<<8;

       vert [1].Blue=GetBValue(cP2)<<8;

       vert [1] .Alpha   =  0;

      

       vert [2] .x      P3.x;

       vert [2] .y       P3.y;

       vert [2].Red=GetRValue(cP3)<<8;

       vert [2].Green=GetGValue(cP3)<<8;

       vert [2].Blue=GetBValue(cP3)<<8;

       vert [2] .Alpha   0;

      

       _GRADIENT_TRIANGLE  gTRi[1];

      

       gTRi[0].Vertex1   = 0;

       gTRi[0].Vertex2   = 1;

       gTRi[0].Vertex3   = 2;

       handle_GradientFill(pDC->GetSafeHdc(),vert,4,&gTRi,1,GRADIENT_FILL_TRIANGLE);

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值