2007년 4월 8일 일요일

GDI+ Pen thickness/alignment

void CGdiplusDemoView::OnDraw(CDC* pDC)
{
    Graphics g(pDC->m_hDC);
    Pen blackPen(Color(255, 0, 0, 0), 1);
    Pen greenPen(Color(255, 0, 255, 0), 10);

    /*
    !!! Only PenAlignmentCenter & PenAlignmentInset are defined
    typedef enum {
        PenAlignmentCenter = 0,
        PenAlignmentInset = 1
    } PenAlignment;
    */

    // Draw line
    /*
    greenPen.SetAlignment(PenAlignmentLeft);
    g.DrawLine(&greenPen, 50, 200, 200, 50);
    g.DrawLine(&blackPen, 50, 200, 200, 50);
    */

    greenPen.SetAlignment(PenAlignmentCenter);
    g.DrawLine(&greenPen, 150, 200, 300, 50);
    g.DrawLine(&blackPen, 150, 200, 300, 50);

    /*
    greenPen.SetAlignment(PenAlignmentRight);
    g.DrawLine(&greenPen, 250, 200, 400, 50);
    g.DrawLine(&blackPen, 250, 200, 400, 50);
    */

    // Draw rectangle(closed curve
    greenPen.SetAlignment(PenAlignmentInset);
    g.DrawRectangle(&greenPen, 50, 250, 100, 100);
    g.DrawRectangle(&blackPen, 50, 250, 100, 100);

    greenPen.SetAlignment(PenAlignmentCenter);
    g.DrawRectangle(&greenPen, 180, 250, 100, 100);
    g.DrawRectangle(&blackPen, 180, 250, 100, 100);

    /*
    greenPen.SetAlignment(PenAlignmentOutset);
    g.DrawRectangle(&greenPen, 310, 250, 100, 100);
    g.DrawRectangle(&blackPen, 310, 250, 100, 100); 
    */
}


댓글 없음: