#include "stdafx.h"
#include "hui.h"
#include "HuiTu.h"//为自己建立的主程序头文件
hui::hui()
: m_ptOrigin(0)
, m_ptEnd(0)
, m_nDrawType(0)
, pbrush(0)
, m_left(0)
, m_right(0)
, pi(3.1415921253589793238412)
, rotateNum(0)
{
}
hui::hui(int m_nDrawType,CPoint m_ptOrigin,CPoint m_ptEnd, COLORREF m_color, int m_index,int m_nlineWide, int m_nlineStyle, CString text)//用指针储存变量
{
this->m_nDrawType = m_nDrawType;
this->m_ptOrigin = m_ptOrigin;
this->m_ptEnd = m_ptEnd;
this->m_color = m_color;
this->m_index = m_index;
this->m_nlineWide = m_nlineWide;
this->m_nlineStyle = m_nlineStyle;
this->text=text;
CPoint center(getCenter());
m_left.x = m_ptOrigin.x;
m_left.y = 2 * center.y - m_ptOrigin.y;
m_right.x = m_ptEnd.x;
m_right.y = 2 * center.y - m_ptEnd.y;
rotateNum = 0;
}
hui::~hui()
{
}
CPoint hui::getCenter()//计算中心
{
return CPoint((m_ptOrigin.x + m_ptEnd.x)/2, (m_ptOrigin.y + m_ptEnd.y)/2);
}
void hui::rotateNi()//逆时针旋转
{
if (m_nDrawType == 2 || m_nDrawType == 3)
{
CPoint center(getCenter());
int x, y;
x = static_cast<int>((m_ptOrigin.x - center.x) * cos(pi / 12) - (m_ptOrigin.y - center.y) * sin(pi / 12)) + center.x;
y = static_cast<int>((m_ptOrigin.x - center.x) * sin(pi / 12) + (m_ptOrigin.y - center.y) * cos(pi / 12)) + center.y;
m_ptOrigin.x = x;
m_ptOrigin.y = y;
x = static_cast<int>((m_ptEnd.x - center.x) * cos(pi / 12) - (m_ptEnd.y - center.y) * sin(pi / 12)) + center.x;
y = static_cast<int>((m_ptEnd.x - center.x) * sin(pi / 12) + (m_ptEnd.y - center.y) * cos(pi / 12)) + center.y;
m_ptEnd.x = x;
m_ptEnd.y = y;
x = static_cast<int>((m_left.x - center.x) * cos(pi /
MFC中简单图形的平移与简单旋转
最新推荐文章于 2018-03-11 16:36:32 发布