MFC畫圖-復刻一個logo

  • 原圖:
    在這裏插入圖片描述
  • 程序實現:
    在這裏插入圖片描述
  • 步驟
     Step1:填充背景色
    在這裏插入圖片描述
     Step2:根據座標點的位置畫線
    在這裏插入圖片描述
     Step3:logo下文字
    在這裏插入圖片描述
void CFirstMFCLineView::OnLogoCreativeaudio()
{
	CPen m_pen[10];
	CBrush m_brush[5];
	m_pen[0].CreatePen(PS_SOLID, 1, RGB(255, 0, 0));     //紅色實線,1像素寬---參數:樣式、寬度、顏色
	m_pen[1].CreatePen(PS_INSIDEFRAME, 8, RGB(0, 0, 0));     //綠色實線,6像素寬
	m_pen[2].CreatePen(PS_COSMETIC, 1, RGB(255, 105, 13));     //綠色實線,6像素寬
	m_brush[0].CreateSolidBrush(RGB(255, 105, 13));
	m_pDC = new CClientDC(this);

	CBrush backBrush(RGB(55, 59, 60));
	CRect rect1(100, 60, 350, 330);
	m_pDC->GetClipBox(&rect1);
	//畫需要的區域
	m_pDC->PatBlt(rect1.left, rect1.top, rect1.Width(), rect1.Height(), PATCOPY);

	CFont font;
	font.CreateFont(
		44,                                                  //   nHeight  
		22,                                                   //   nWidth  
		0,                                                   //   nEscapement
		0,                                                   //   nOrientation  
		FW_NORMAL,                                   //   nWeight  
		FALSE,                                           //   bItalic  
		FALSE,                                           //   bUnderline  
		0,                                                   //   cStrikeOut  
		ANSI_CHARSET,                             //   nCharSet  
		OUT_DEFAULT_PRECIS,                 //   nOutPrecision  
		CLIP_DEFAULT_PRECIS,               //   nClipPrecision  
		DEFAULT_QUALITY,                       //   nQuality  
		DEFAULT_PITCH | FF_SWISS,     //   nPitchAndFamily     
		_T("華文細黑"));

	m_pDC->SelectObject(&font);
	//CDC* pDC = this->GetDC();

	COLORREF color1 = RGB(255, 255, 255);
	COLORREF color2 = RGB(55, 59, 60);
	m_pDC->SetTextColor(color1);
	m_pDC->SetBkColor(color2);
	LPCWSTR text1 = TEXT("CREATIVE AUDIO");
	m_pDC->TextOut(73, 323, text1, lstrlen(text1));
	CRect rect(140, 200, 300, 300);
	rect.OffsetRect(80, 0);

	m_pDC->SelectObject(&m_pen[1]);
	m_pDC->Arc(143, 198, 300, 285, 288, 221, 205, 277);
	m_pDC->SelectObject(m_pen[2]);
	m_pDC->SelectObject(m_brush[0]);
	CPoint pt1[4] = { CPoint(250,93),CPoint(292,220) ,CPoint(287, 227),CPoint(250,113) };
	m_pDC->Polygon(pt1, 4);
	CPoint pt2[4] = { CPoint(210,278),CPoint(203,283) , CPoint(250,93),CPoint(250,113) };
	m_pDC->Polygon(pt2, 4);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章