none
GDI+ GraphicsContainer가 작동하지 않습니다.. RRS feed

  • 질문

  • Page Unit을 UnitInch로 하여 사용해 보았더니

    전과 다르게 GraphicsContainer 안의 코드가 작동하지 않는 것 같습니다. 그래서 아래와 같이 테스트 코드르 짜 보았습니다.

    GraphicsContainer를 Begin 하기 전, 후에 원을 하나씩 그렸는데, 결과를 보니 컨테이너를 사용하기 전에 그린 원은 출력이 되지만, 컨테이너 Begin 후에 그린 원은 출력되지 않은 것을 확인하였습니다.  

    제가 놓친 것이 있는 건지 궁금합니다..

    CPaintDC dc(this); CRect rec; GetClientRect(&rec);
    Gdiplus::Graphics g(dc.GetSafeHdc());

    g.SetPageUnit(UnitInch); float dx = 1; float dy = 1; REAL DpiX = g.GetDpiX(); REAL DpiY = g.GetDpiY(); Matrix flipMatrix(1.0f, 0.0f, 0.0f,-1.0f,-dx,dy); g.SetTransform(&flipMatrix); g.TranslateTransform((rec.Width()/2)/DpiX ,(rec.Height()/2)/DpiY, Gdiplus::MatrixOrderAppend); //Pen// Gdiplus::Pen RedPen(Gdiplus::Color::Red, 0.1); Gdiplus::Pen BluePen(Gdiplus::Color::Blue, 0.1);

    //첫 번 째 원 그리기. g.DrawEllipse(&RedPen, dx-1,dy-1, 2.0f,2.0f); GraphicsContainer C;

    //컨테이너 시작------ C=g.BeginContainer();

    //두 번째 원 그리기 g.DrawEllipse(&BluePen, dx-1,dy-1, 2.0f,2.0f);

    //컨테이너 끝 g.EndContainer(C);



    • 편집됨 erhugirl 2017년 10월 16일 월요일 오전 11:05
    2017년 10월 16일 월요일 오전 11:01

모든 응답