Main Content

Light 속성

조명의 모양과 동작

Light 속성은 Light 객체의 모양과 동작을 제어합니다. 속성값을 변경하여 조명의 특성을 수정할 수 있습니다. 점 표기법을 사용하여 속성을 쿼리하고 설정합니다.

h = light;
c = h.Color;
h.Style = 'local';

색과 스타일 지정

모두 확장

조명 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 디폴트 RGB 3색인 [1 1 1]은 흰색에 대응됩니다.

RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

예: 'green'

광원의 유형으로, 다음 값 중 하나로 지정됩니다.

  • 'infinite' — 조명을 무한대에 배치합니다. Position 속성을 사용하여 조명이 평행 광선으로 비추는 방향을 지정합니다.

  • 'local' — 조명을 Position 속성으로 지정된 위치에 배치합니다. 조명이 해당 위치에서 모든 방향으로 비추는 점 광원입니다.

광원의 위치로, [x y z] 형식의, 요소를 3개 가진 벡터로 지정됩니다. 좌표축 원점에서 (x, y, z) 좌표까지의 벡터 요소를 데이터 단위로 정의합니다. 조명의 실제 위치는 Style 속성값에 따라 달라집니다.

예: [-40 -4 140]

위치

모두 확장

광원의 위치로, [x y z] 형식의, 요소를 3개 가진 벡터로 지정됩니다. 좌표축 원점에서 (x, y, z) 좌표까지의 벡터 요소를 데이터 단위로 정의합니다. 조명의 실제 위치는 Style 속성값에 따라 달라집니다.

예: [-40 -4 140]

광원의 조명 가시성으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

콜백

모두 확장

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

  • 함수 핸들.

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

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

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

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

기존 컴포넌트에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

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

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

  • 함수 핸들.

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

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

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

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

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

콜백 실행 컨트롤

모두 확장

읽기 전용 속성입니다.

삭제 상태로, matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 반환됩니다.

MATLAB은 DeleteFcn 콜백이 실행을 시작할 때 BeingDeleted 속성을 'on'으로 설정합니다. BeingDeleted 속성은 컴포넌트 객체가 더 이상 존재하지 않을 때까지 'on'으로 설정되어 유지됩니다.

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

부모/자식

모두 확장

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

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

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

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

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

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

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

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

식별자

모두 확장

읽기 전용 속성입니다.

그래픽스 객체의 유형으로, 'light'로 반환됩니다. 이 속성을 사용하면 플로팅 계층 구조 내에서 지정된 유형의 객체를 모두 찾을 수 있습니다(예: findobj를 사용하여 유형 검색).

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

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

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

사용되지 않는 속성

모두 확장

Light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

Light 객체는 이 속성을 사용하지 않습니다.

버전 내역

R2006a 이전에 개발됨