이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

Image 속성

이미지의 모양과 동작

Image 객체의 속성은 Image 객체의 모양과 동작을 제어합니다. 속성값을 변경하여 image의 특성을 수정할 수 있습니다.

R2014b부터는 점 표기법을 사용하여 속성을 쿼리하고 설정할 수 있습니다.

im = image(rand(20));
C = im.CData;
im.CDataMapping = 'scaled';

이전 릴리스를 사용 중인 경우에는 get 함수와 set 함수를 대신 사용하십시오.

색과 투명도

모두 확장

이미지 색 데이터로, 다음 형식 중 하나로 지정됩니다.

  • 벡터 또는 행렬 — 이 형식은 인덱스 이미지 데이터를 정의합니다. 각 요소는 이미지의 한 픽셀에 대한 색을 정의합니다. 요소는 컬러맵의 색에 매핑됩니다. CDataMapping 속성으로 매핑 방법을 제어합니다.

  • RGB 3색으로 구성된 3차원 배열 — 이 형식은 RGB 3색 값을 사용하여 트루컬러 이미지 데이터를 정의합니다. 각 RGB 3색은 이미지의 한 픽셀에 대한 색을 정의합니다. RGB 3색은 요소를 3개 가진 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 3차원 배열의 첫 페이지에는 빨간색 구성요소가 포함되고, 두 번째 페이지에는 녹색 구성요소가 포함되며, 세 번째 페이지에는 파란색 구성요소가 포함됩니다. 이미지는 컬러맵 색 대신 트루컬러를 사용하기 때문에 CDataMapping 속성은 아무 영향을 미치지 않습니다.

    • CDatadouble형인 경우, RGB 3색 값 [0 0 0]은 검은색에 해당하고 [1 1 1]은 흰색에 해당합니다.

    • CData가 정수형인 경우 이미지는 전체 데이터 범위를 사용하여 색을 지정합니다. 예를 들어, CDatauint8형인 경우, [0 0 0]은 검은색에 해당하고 [255 255 255]는 흰색에 해당합니다. CDataint8형이면 [-128 -128 -128]이 검은색에 해당하고 [127 127 127]은 흰색에 해당합니다.

    • CDatalogical형이면 [0 0 0]은 검은색에 해당하고 [1 1 1]은 흰색에 해당합니다.

다음 그림은 두 가지 색상 모델에 대한 CData의 상대적 크기를 보여줍니다.

NaN 요소의 동작은 정의되어 있지 않습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

색 데이터 매핑 방법으로, 'direct' 또는 'scaled'로 지정됩니다. 이 속성을 사용하여 CData의 색 데이터 값의 컬러맵 매핑을 제어합니다. CData는 인덱스 색상을 정의하는 벡터 또는 행렬이어야 합니다. CData가 트루컬러를 정의하는 3차원 배열이면 이 속성은 아무 영향을 미치지 않습니다.

각 방법은 다음과 같은 영향을 미칩니다.

  • 'direct' — 값을 현재 컬러맵에 대한 인덱스로 해석합니다. 소수부를 포함하는 값은 가장 가까운 더 작은 정수로 고정됩니다.

    • 값이 double형이거나 single형인 경우 1 또는 1보다 작은 값은 컬러맵의 첫 번째 색에 매핑됩니다. 컬러맵의 길이보다 크거나 같은 값은 컬러맵의 마지막 색에 매핑됩니다.

    • 값이 uint8형, uint16형, uint32형, uint64형, int8형, int16형, int32형, int64형 중 하나인 경우 0 또는 0 이하의 값은 컬러맵의 첫 번째 색에 매핑됩니다. 컬러맵의 길이보다 크거나 같은 값은 컬러맵의 마지막 색 또는 유형의 범위 제한에 매핑됩니다.

    • 값이 logical형인 경우 0 값은 컬러맵의 첫 번째 색에 매핑되고 1 값은 컬러맵의 두 번째 색에 매핑됩니다.

  • 'scaled' — 값을 최소 색 제한과 최대 색 제한 사이의 범위로 스케일링합니다. 좌표축의 CLim 속성에는 색 제한이 포함됩니다.

투명도 데이터로, 다음 형식 중 하나로 지정됩니다.

  • 스칼라 — 전체 이미지에 걸쳐 일관된 투명도를 사용합니다.

  • CData와 동일한 크기의 배열 — 각 이미지 요소에 대해 다른 투명도 값을 사용합니다.

AlphaDataMapping 속성은 MATLAB®이 알파 데이터 투명도 값을 해석하는 방법을 제어합니다.

예: 0.5

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

AlphaData 값의 해석 방식으로, 다음 값 중 하나로 지정됩니다.

  • 'none' — 값을 투명도 값으로 해석합니다. 1 이상의 값은 완전히 불투명하고, 0 이하의 값은 완전히 투명하며, 0과 1 사이의 값은 반투명합니다.

  • 'scaled' — 값을 Figure의 알파맵에 매핑합니다. 좌표축의 최소 알파 제한 및 최대 알파 제한에 따라 알파맵의 첫 번째 요소와 마지막 요소에 각각 매핑되는 알파 데이터 값이 결정됩니다. 예를 들어, 알파 제한이 [3 5]이면 3보다 작거나 같은 알파 데이터 값이 알파맵의 첫 번째 요소에 매핑됩니다. 5보다 크거나 같은 알파 데이터 값은 알파맵의 마지막 요소에 매핑됩니다. 좌표축의 ALim 속성에는 알파 제한이 포함됩니다. Figure의 Alphamap 속성에는 알파맵이 포함됩니다.

  • 'direct' — 값을 Figure의 알파맵에 대한 인덱스로 해석합니다. 소수부를 포함하는 값은 가장 가까운 더 작은 정수로 고정됩니다.

    • 값이 double형이거나 single형인 경우 1 이하의 값은 알파맵의 첫 번째 요소에 매핑됩니다. 알파맵의 길이보다 크거나 같은 값은 알파맵의 마지막 요소에 매핑됩니다.

    • 값이 정수형인 경우 0 이하의 값은 알파맵의 첫 번째 요소에 매핑됩니다. 알파맵의 길이보다 크거나 같은 값은 알파맵의 마지막 요소 또는 유형의 범위 제한에 매핑됩니다. 정수형은 uint8, uint16, uint32, uint64 , int8, int16, int32, int64입니다.

    • 값이 logical형인 경우 값 0은 알파맵의 첫 번째 요소에 매핑되고 값 1은 알파맵의 두 번째 요소에 매핑됩니다.

위치

모두 확장

x축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.

  • 요소를 2개 가진 벡터 — 첫 번째 요소를 CData(1,1)의 중심 위치로 사용하고 두 번째 요소를 CData(m,n)의 중심 위치로 사용합니다. 여기서 [m,n] = size(CData)입니다. 나머지 CData 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.

    각 픽셀의 너비는 다음 표현식으로 결정됩니다.

    (XData(2)-XData(1))/(size(CData,2)-1)

    XData(1) > XData(2)이면 이미지의 좌우가 뒤집어집니다.

  • 스칼라 — CData(1,1)의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

y축 상에서의 위치로, 다음 형식 중 하나로 지정됩니다.

  • 요소를 2개 가진 벡터 — 첫 번째 요소를 CData(1,1)의 중심 위치로 사용하고 두 번째 요소를 CData(m,n)의 중심 위치로 사용합니다. 여기서 [m,n] = size(CData)입니다. 나머지 CData 요소의 중심을 이 두 점 사이에 균일하게 분포시킵니다.

    각 픽셀의 높이는 다음 표현식으로 결정됩니다.

    (YData(2)-YData(1))/(size(CData,1)-1)

    YData(1) > YData(2)이면 이미지의 상하가 뒤집어집니다.

  • 스칼라 — CData(1,1)의 중심을 이 위치에 지정하고, 그 다음 요소부터는 한 단위 간격으로 중심을 지정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

상호 작용

모두 확장

가시성 상태로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 객체를 표시합니다.

  • 'off' — 객체를 삭제하지 않고 숨깁니다. 보이지 않는 객체의 속성에 계속 액세스할 수 있습니다.

상황별 메뉴로, ContextMenu 객체로 지정됩니다. 객체를 마우스 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오. uicontextmenu 함수를 사용하여 상황별 메뉴를 만듭니다.

참고

PickableParts 속성이 'none'으로 설정되어 있거나 HitTest 속성이 'off'로 설정되어 있으면 상황별 메뉴가 나타나지 않습니다.

선택 상태로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 선택된 상태. 플롯 편집 모드에서 객체를 클릭하면 MATLAB이 이 객체의 Selected 속성을 'on'으로 설정합니다. SelectionHighlight 속성도 'on'으로 설정된 경우 MATLAB은 객체 둘레에 선택 핸들을 표시합니다.

  • 'off' — 선택되지 않은 상태.

선택되었을 때 선택 핸들의 표시 여부로, 다음 값 중 하나로 지정됩니다.

  • 'on'Selected 속성이 'on'으로 설정되어 있으면 선택 핸들을 표시합니다.

  • 'off'Selected 속성이 'on'으로 설정되어 있어도 선택 핸들을 표시하지 않습니다.

좌표축 제한에 맞춘 객체 클리핑으로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 좌표축 제한 밖에 있는 객체의 부분을 표시하지 않습니다.

  • 'off' — 일부가 좌표축 제한 바깥쪽에 나타나더라도 전체 객체를 표시합니다. 플롯을 만들고, hold on을 설정하고, 축 스케일링을 고정한 다음, 원래 플롯보다 큰 객체를 만들면 객체의 일부가 좌표축 제한 바깥쪽에 나타날 수 있습니다.

객체를 포함하는 좌표축의 Clipping 속성은 'on'으로 설정되어야 합니다. 그렇지 않으면 이 속성은 아무런 영향을 미치지 않습니다. 클리핑 동작에 대한 자세한 내용은 좌표축의 Clipping 속성을 참조하십시오.

콜백

모두 확장

마우스 클릭 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수인 문자형 벡터(권장되지 않음)

객체를 클릭할 때 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 콜백을 실행할 때 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • 클릭된 객체 — 콜백 함수 내에서 클릭된 객체의 속성에 액세스합니다.

  • 이벤트 데이터 — 빈 인수입니다. 함수 정의에서 이 인수를 물결표 문자(~)로 바꿔서 이 인수가 사용되지 않음을 나타낼 수 있습니다.

함수 핸들을 사용하여 콜백 함수를 정의하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

참고

PickableParts 속성이 'none'으로 설정되어 있거나 HitTest 속성이 'off'로 설정되어 있으면 이 콜백이 실행되지 않습니다.

객체 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn 콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn 속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.

기존 구성요소에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

콜백 실행 컨트롤

모두 확장

콜백 중단으로, 'on'이나 'off'로 지정됩니다. Interruptible 속성은 실행중 콜백을 중단할 수 있는지 여부를 지정합니다.

고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

MATLAB이 콜백을 불러올 때마다 불러들여진 콜백은 실행중 콜백(있는 경우)을 중단하려고 시도합니다. 실행중 콜백을 소유한 객체의 Interruptible 속성은 중단이 허용되는지 여부를 지정합니다. Interruptible 속성에는 다음 두 가지 값을 사용할 수 있습니다.

  • 'on' — 다른 콜백이 이 객체의 콜백을 중단할 수 있습니다. MATLAB이 대기열을 처리하는 다음 지점에서(예: drawnow, figure, uifigure, getframe, waitfor 또는 pause 명령이 있을 때) 중단이 발생합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있으면 MATLAB은 이 지점에서 콜백 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료되면 MATLAB은 실행중 콜백의 실행을 재개합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있지 않으면 MATLAB은 중단 없이 콜백 실행을 마칩니다.

  • 'off' — 모든 중단 시도를 차단합니다. 인터럽트 콜백을 소유한 객체의 BusyAction 속성은 인터럽트 콜백을 삭제할지 아니면 대기열에 넣을지를 지정합니다.

참고

콜백 중단과 실행은 다음 상황에서 다르게 동작합니다.

  • 인터럽트 콜백이 DeleteFcn, CloseRequestFcn, SizeChangedFcn 콜백 중 하나이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • 실행중 콜백이 현재 waitfor 함수를 실행 중이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • Timer 객체는 Interruptible 속성값에 관계없이 예약된 대로 실행됩니다.

중단이 발생하면 MATLAB은 디스플레이 또는 속성의 상태를 저장하지 않습니다. 예를 들어, 다른 콜백이 실행될 때 gca 또는 gcf 명령이 반환하는 객체가 변경될 수도 있습니다.

콜백 대기로, 'queue''cancel'로 지정됩니다. BusyAction 속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

MATLAB이 콜백을 불러올 때마다 콜백은 실행중 콜백을 중단하려고 시도합니다. 실행중 콜백을 소유한 객체의 Interruptible 속성은 중단이 허용되는지 여부를 지정합니다. 중단이 허용되지 않는 경우 인터럽트 콜백을 소유한 객체의 BusyAction 속성은 콜백을 삭제할지 아니면 대기열에 넣을지 여부를 지정합니다. BusyAction 속성의 가능한 값은 다음과 같습니다.

  • 'queue' — 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.

  • 'cancel' — 인터럽트 콜백을 실행하지 않습니다.

마우스 클릭을 캡처할 수 있는 기능으로, 다음 값 중 하나로 지정됩니다.

  • 'visible' — 표시될 때만 마우스 클릭을 캡처합니다. Visible 속성이 'on'으로 설정되어 있어야 합니다. HitTest 속성은 Image 객체가 클릭에 응답하는지 아니면 선조가 응답하는지를 확인합니다.

  • 'none' — 마우스 클릭을 캡처할 수 없습니다. Image 객체를 클릭하면 Figure 창의 현재 보기에서 이 객체 뒤에 있는 객체에 클릭이 전달됩니다. Image 객체의 HitTest 속성은 영향을 미치지 않습니다.

캡처된 마우스 클릭에 대한 응답으로, 다음 값 중 하나로 지정됩니다.

  • 'on'Image 객체의 ButtonDownFcn 콜백을 트리거합니다. UIContextMenu 속성을 정의한 경우 상황별 메뉴를 불러옵니다.

  • 'off' — 다음과 같은 속성값을 갖는 Image 객체의 가장 가까운 선조에 대해 콜백을 트리거합니다.

    • HitTest 속성이 'on'으로 설정되어 있음

    • PickableParts 속성이 선조가 마우스 클릭을 캡처하도록 하는 값으로 설정되어 있음

참고

PickableParts 속성은 Image 객체가 마우스 클릭을 캡처할 수 있는지 여부를 확인합니다. 캡처할 수 없는 경우 HitTest 속성은 영향을 미치지 않습니다.

이 속성은 읽기 전용입니다.

삭제 상태로, 'off' 또는 'on'으로 반환됩니다. MATLAB은 DeleteFcn 콜백이 실행을 시작할 때 BeingDeleted 속성을 'on'으로 설정합니다. BeingDeleted 속성은 구성요소 객체가 더 이상 존재하지 않을 때까지 'on'으로 설정되어 유지됩니다.

객체를 쿼리하거나 수정하기 전에 BeingDeleted 속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.

상위(부모)/하위(자식)

모두 확장

상위(부모)로, Axes, Group 또는 Transform 객체로 지정됩니다.

객체에 하위(자식)가 없습니다. 따라서 이 속성을 설정할 수 없습니다.

상위(부모)의 Children 속성에 있는 객체 핸들의 가시성으로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 객체 핸들이 항상 표시됩니다.

  • 'off' — 객체 핸들이 항상 표시되지 않습니다. 이 옵션은 다른 함수에 의해 UI가 의도치 않게 변경되는 것을 방지하는 데 유용합니다. HandleVisibility'off'로 설정하여 해당 함수를 실행하는 동안 핸들을 일시적으로 숨길 수 있습니다.

  • 'callback' — 명령줄에서 호출한 함수 내에서가 아니라, 콜백 내에서나 콜백이 호출한 함수 내에서 객체 핸들이 표시됩니다. 이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체에 액세스하는 것은 허용합니다.

객체가 상위(부모)의 Children 속성에 나열되지 않는 경우, 객체 계층 구조를 검색하거나 핸들 속성을 쿼리하여 객체 핸들을 가져오는 함수가 이 객체를 반환할 수 없습니다. 이러한 함수의 예로는 get, findobj, gca, gcf, gco, newplot, cla, clfclose 함수가 있습니다.

숨겨진 객체 핸들은 여전히 유효합니다. 루트 ShowHiddenHandles 속성을 'on'으로 설정하면 객체 핸들의 HandleVisibility 속성 설정에 관계없이 모든 객체 핸들을 나열할 수 있습니다.

식별자

모두 확장

이 속성은 읽기 전용입니다.

그래픽스 객체의 유형으로, 'image'로 반환됩니다.

객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag 값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj 함수를 사용하여 Tag 값을 기반으로 객체를 검색할 수 있습니다.

사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.

앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData 속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.

R2006a 이전에 개발됨