다음을 통해 공유


영역을 사용하여 클리핑

Graphics 클래스의 속성 중 하나는 클리핑 영역입니다. 지정된 Graphics 개체에서 수행하는 모든 그리기는 해당 Graphics 개체의 클리핑 영역으로 제한됩니다. SetClip 메서드를 호출하여 클리핑 영역을 설정할 수 있습니다.

다음 예제에서는 단일 다각형으로 구성된 경로를 생성합니다. 그런 다음 코드는 해당 경로에 따라 지역을 생성합니다. 영역의 주소는 Graphics 개체의 SetClip 메서드에 전달된 다음 두 개의 문자열이 그려집니다.

// Create a path that consists of a single polygon.
Point polyPoints[] = {Point(10, 10), Point(150, 10), 
   Point(100, 75), Point(100, 150)};
GraphicsPath path;
path.AddPolygon(polyPoints, 4);
// Construct a region based on the path.
Region region(&path);
// Draw the outline of the region.
Pen pen(Color(255, 0, 0, 0));
graphics.DrawPath(&pen, &path);
// Set the clipping region of the Graphics object.
graphics.SetClip(&region);
// Draw some clipped strings.
FontFamily fontFamily(L"Arial");
Font font(&fontFamily, 36, FontStyleBold, UnitPixel);
SolidBrush solidBrush(Color(255, 255, 0, 0));
graphics.DrawString(L"A Clipping Region", 20, &font, 
   PointF(15, 25), &solidBrush);
graphics.DrawString(L"A Clipping Region", 20, &font, 
   PointF(15, 68), &solidBrush);

다음 그림에서는 잘린 문자열을 보여 줍니다.

4면 도형 내에 나타나는 두 문장의 일부를 보여 주는 일러스트레이션