画坐标箭头函数封装

float  g_fConstValue    = 3.14f / 180.0f;          //常数

//--------------------------------------------------------------------------------------

//HDC ,dwAngle:箭头方向, ptCenter

//--------------------------------------------------------------------------------------

void DrawArrow( HDC hDC, DWORD dwAngle, POINT ptCenter )
{
 float fTmp = dwAngle * g_fConstValue;

 HPEN    hPen   = CreatePen( PS_SOLID, 2, RGB( 200, 200, 2 ) );

 HGDIOBJ hOldObj = SelectObject( hDC, hPen );

 int usX = ptCenter.x + int( 60 * sin( fTmp ));
 int usY = int( ptCenter.y - 60 * cos( fTmp ));

 MoveToEx( hDC, ptCenter.x, ptCenter.y, NULL );
 LineTo  ( hDC, usX, usY );

 DWORD usAngleValue2 = ((( dwAngle + 180 ) % 360 ) + 30 ) % 360;

 fTmp = usAngleValue2  * g_fConstValue ;

 int usX2 = usX + int( 12 * sin( fTmp ));
 int usY2 = usY - int( 12 * cos( fTmp ));

 MoveToEx( hDC, usX, usY, NULL );
 LineTo( hDC, usX2, usY2 );

 usAngleValue2 = ((( dwAngle + 180 ) % 360 ) + 360 - 30 ) % 360;

 fTmp = usAngleValue2  * g_fConstValue ;

 usX2 = usX + int( 12 * sin( fTmp ));
 usY2 = usY - int( 12 * cos( fTmp ));

 MoveToEx( hDC, usX, usY, NULL );
 LineTo( hDC, usX2, usY2 );

 SelectObject( hDC, hOldObj );

 DeleteObject( hPen );
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值