Main Content

copyobj

그래픽스 객체(Graphics Object)와 그 후손(Descendant) 복사

구문

new_handle = copyobj(h,p)
copyobj(___,'legacy')

설명

copyobj는 그래픽스 객체의 복사본을 만들고 객체를 새 부모에 할당합니다.

새 부모는 복사된 객체에 적합해야 합니다. 예를 들어, axes는 Figure나 uipanel로만 복사될 수 있습니다. copyobj는 자식도 복사합니다.

new_handle = copyobj(h,p)h가 식별하는 하나 이상의 그래픽스 객체를 복사하고 새 객체의 핸들 또는 새 객체로 구성된 배열을 반환합니다. 새 그래픽스 객체는 p로 지정된 그래픽스 객체의 자식이 됩니다.

copyobj(___,'legacy')는 객체 콜백 속성과 객체 애플리케이션 데이터를 복사합니다. 이 동작은 MATLAB® 릴리스 R2014b 전의 copyobj 버전과 일치합니다.

복사되지 않는 항목

copyobj는 제대로 동작하기 위해 원래 컨텍스트를 따르는 속성이나 객체는 복사하지 않습니다. 디폴트 상황별 메뉴가 있는 객체(예: legend, colorbar)는 새 객체에 대해 상황별 메뉴를 새로 만듭니다. Figure는 새 Figure에 대해 도구 모음과 메뉴를 새로 만듭니다.

copyobj는 다음 항목을 복사하지 않습니다.

  • 콜백 속성(legacy 옵션을 사용할 경우 제외).

  • 객체에 대한 애플리케이션 데이터(legacy 옵션을 사용할 경우 제외).

  • 디폴트 상황별 메뉴를 정의하는 legend 객체, colorbar 객체, 기타 객체의 상황별 메뉴

  • 디폴트 Figure 도구 모음과 메뉴.

  • yyaxis 함수와 함께 사용되는 axes 객체.

  • axes 객체의 Interactions 속성.

  • DataTipTemplate 속성을 갖는 객체(예: Line 객체, Scatter 객체, Surface 객체)의 이 속성.

  • copyobj에 대한 단일 호출에서 동일한 객체를 동일한 부모로 두 번 이상 복사할 수 없습니다.

MATLAB은 Parent 속성을 새 부모로 변경하고 새 객체에 새 핸들을 할당합니다.

예제

곡면을 다른 Figure에 있는 새 좌표축에 복사합니다.

h = surf(peaks);
colormap hsv

대상 Figure와 좌표축을 만듭니다.

fig = figure;
ax = axes;

곡면을 새 좌표축에 복사하고 surface 속성이 아닌 속성을 설정합니다.

new_handle = copyobj(h,ax);
colormap(fig,hsv)
view(ax,3)
grid(ax,'on')

참고로, 곡면을 복사할 때 colormap, view, grid는 복사되지 않습니다.

hp는 스칼라 또는 벡터일 수 있습니다. 둘이 모두 벡터인 경우 길이가 같아야 하고, 출력 인수 new_handle은 길이가 동일한 벡터여야 합니다. 이 경우 new_handle(i)Parent 속성이 p(i)로 설정된 h(i)의 복사본입니다.

h가 스칼라이고 p가 벡터인 경우 hp의 요소인 각 부모에 한 번씩 복사됩니다. new_handle(i)Parent 속성이 p(i)로 설정된 h의 복사본이며 length(new_handle)length(p)와 같습니다.

h가 벡터이고 p가 스칼라인 경우 각 new_handle(i)Parent 속성이 p로 설정된 h(i)의 복사본입니다. new_handle의 길이는 length(h)와 같습니다.

참고

Legend나 colorbar를 복사할 때는 연관 좌표축을 복사해야 합니다.

UI를 프로그래밍할 때 CreateFcn 내에서 copyobj 또는 (copyobj를 호출하는) textwrap을 호출해서는 안 됩니다. uicontrol 객체 복사는 CreateFcn을 반복적으로 발생시켜 재귀 제한 초과 후에 일련의 오류 메시지를 발생시킵니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | |