글목록

2022년 3월 20일

도형 변환하기 - 2. Powerpoint에 사용되는 도형(Drawing) 종류

Powerpoint에서 제공하는 도형(Shape)을 구분해보면 아래와 같습니다. 그러나, VB 에디터에서 Shape의 종류를 확인해보면 훨씬 더 많은 종류가 정의되어 있습니다. 표라든지, 그룹화된 도형이나, 사진, wordart 등... 슬라이드에 삽입할 수 있는 모든 개체가 Shape으로 정의될 수 있으며, 각각의 고유한 식별번호를 가지고 있습니다. 

그러나, 일반적으로 그림을 그리기 위한 도형(Drawing)은 아래와 같이 선, autoshape, 글상자, polyline 정도가 됩니다.



Polyline은 사용자가 점을 찍어나가면서 그리는 곡선 또는 직선을 말합니다. Polyline은 한붓 그리기 형태이며, 꼭지점에 해당하는 점을 찍어나가면, 꼭지점 사이를 직선 또는 Bezier 곡선으로 연결하여 도형을 만들어 나갑니다. 따라서, 이러한 도형은 Shape.Type으로 속성을 확인하면 msoFreeform으로 분류됩니다. Polyline은 사용자가 찍어준 점(End point)과 Bezier 곡선을 생성하기 위한 제어점(Control point)에 대한 정보가 저장되어 있기 때문에, 이 정보를 바로 읽어올 수 있으며, 또한 이 정보만 알게 되면 도형을 다시 그릴 수 있습니다.

Textbox는 글자만을 포함하기 위한 도형이며, 4각형 상자의 위치(Left, Top, Width, Height) 정보를 가지고 있으며, 꼭지점의 정보를 가지고 있지는 않습니다.

AutoShape은 Powerpoint에서 템플릿 형태로 제공하는 도형이며, 사각형, 원 뿐만 아니라 화살표나 별 모양 등이 있습니다. Polyline과 유사한 형태같아 보이지만, 위 그림의 오른쪽 아래 화살표 도형에서와 같이, 도형을 선택하면, 도형의 모양을 조절할 수 있는 조절점을 포함하기도 합니다. 그러나, AutoShape은 Polyline과 달리, 도형을 구성하는 꼭지점과 제어점을 바로 읽어올 수는 없으며, 필요에 따라서는 AutoShape의 고유번호를 지정해서 생성해줄 수는 있습니다.

선(Line)은 시작점과 끝점에 대한 정보만을 가지고 있습니다. Powerpoint에서 선은 단순히 도형으로서의 직선점이 아니라, 서로 다른 개체를 연결해주는 기능을 수행하기 때문에 직선 뿐만 아니라, 곡선 또는 꺾은선이 모두 선의 종류에 해당합니다. 따라서, 단순 직선이 아닌 경우에는 AutoShape과 같이 형태를 조절하는 조절점을 가지기도 하며, 시작점과 끝점에 대한 위치 정보를 갖고 있지 않고, 도형 자체의 위치 정보와 다른 개체와의 연결정보만 갖고 있기 때문에 시작점과 끝점을 구분할 수 없습니다. 만약, 선택한 선을 제어하기 위해 시작점과 끝점을 알아내고자 한다면, 특수한 방법을 사용해야 합니다.

이상과 같이, Drawing에 사용할 수 있는 도형은 총 4가지입니다만, 사용자가 원하는대로 그림을 제어하기 위해서는 도형을 구성하는 꼭지점과 현의 정보를 정확하게 알아야합니다. 

따라서, 위의 4종류의 도형이 생성되었을 때, 
  1. Polyline 형태로 변환하여 꼭지점과 현의 정보를 정확하게 추출해내고, 
  2. 각 꼭지점의 위치를 사용자가 원하는 대로 변경한 후,
  3. 변경된 꼭지점과 현의 정보를 이용하여 Polyline을 다시 생성
하는 방식으로 도형에 대한 매크로를 생성할 예정입니다.

이를 위해서는 Bezier 곡선, 특히 Powerpoint에서 사용하는 4점을 이용한 Bezier 곡선(Cubic Bezier Curve)을 이해할 필요가 있습니다.

많이 본 글 :