SpotLight Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Jasny obiekt, który rzutuje swój efekt w obszarze w kształcie stożka wzdłuż określonego kierunku.
public ref class SpotLight sealed : System::Windows::Media::Media3D::PointLightBase
public sealed class SpotLight : System.Windows.Media.Media3D.PointLightBase
type SpotLight = class
inherit PointLightBase
Public NotInheritable Class SpotLight
Inherits PointLightBase
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak utworzyć element SpotLight w scenie 3-W.
<!-- A SpotLight is used to light the scene. The InnerConeAngle and OuterConeAngle are used
to control the size of the light cone created by the SpotLight. The Direction and Position
properties determine where the SpotLight is pointing in the scene. In this example, the Position
of the SpotLight is set so that the SpotLight is only illuminating the upper right-hand corner
of the 3D object. -->
<ModelVisual3D>
<ModelVisual3D.Content>
<SpotLight x:Name="mySpotLight" InnerConeAngle="20" OuterConeAngle="20" Color="#FFFFFF" Direction="0,0,-1"
Position="1,1,6" Range="20"/>
</ModelVisual3D.Content>
</ModelVisual3D>
Poniższy kod przedstawia cały przykład.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<DockPanel>
<Viewbox>
<Canvas Width="321" Height="201">
<!-- The Viewport3D provides a rendering surface for 3-D visual content. -->
<Viewport3D ClipToBounds="True" Width="150" Height="150" Canvas.Left="0" Canvas.Top="10">
<!-- Defines the camera used to view the 3D object. -->
<Viewport3D.Camera>
<PerspectiveCamera Position="0,0,2" LookDirection="0,0,-1" FieldOfView="60" />
</Viewport3D.Camera>
<!-- The ModelVisual3D children contain the 3D models -->
<Viewport3D.Children>
<!-- A SpotLight is used to light the scene. The InnerConeAngle and OuterConeAngle are used
to control the size of the light cone created by the SpotLight. The Direction and Position
properties determine where the SpotLight is pointing in the scene. In this example, the Position
of the SpotLight is set so that the SpotLight is only illuminating the upper right-hand corner
of the 3D object. -->
<ModelVisual3D>
<ModelVisual3D.Content>
<SpotLight x:Name="mySpotLight" InnerConeAngle="20" OuterConeAngle="20" Color="#FFFFFF" Direction="0,0,-1"
Position="1,1,6" Range="20"/>
</ModelVisual3D.Content>
</ModelVisual3D>
<ModelVisual3D>
<ModelVisual3D.Content>
<GeometryModel3D>
<!-- The geometry specifies the shape of the 3D plane. In this sample, a flat sheet is created. -->
<GeometryModel3D.Geometry>
<MeshGeometry3D
TriangleIndices="0,1,2 3,4,5 "
Normals="0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 "
TextureCoordinates="0,0 1,0 1,1 1,1 0,1 0,0 "
Positions="-0.5,-0.5,0.5 0.5,-0.5,0.5 0.5,0.5,0.5 0.5,0.5,0.5 -0.5,0.5,0.5 -0.5,-0.5,0.5 " />
</GeometryModel3D.Geometry>
<!-- The material specifies the material applied to the 3D object. In this sample a linear gradient
covers the surface of the 3D object.-->
<GeometryModel3D.Material>
<MaterialGroup>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Yellow" Offset="0" />
<GradientStop Color="Red" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</MaterialGroup>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D.Children>
</Viewport3D>
</Canvas>
</Viewbox>
</DockPanel>
</Page>
Uwagi
SpotLight jest rodzajem PointLight, ponieważ ma położenie, zakres i zatłoczenie. SpotLight Jednak pozwala również kontrolować kierunek, kształt i inne właściwości stożka efektu światła.
Określ wartości dla OuterConeAngle (poza którymi nic nie jest oświetlone) i InnerConeAngle (w ramach którego wszystko jest w pełni oświetlone), aby zmienić efekt reflektorów.
Oświetlenie między zewnętrzną stożka wewnętrznego i stożka zewnętrznego spada liniowo.
Konstruktory
SpotLight() |
Inicjuje nowe wystąpienie klasy SpotLight. |
SpotLight(Color, Point3D, Vector3D, Double, Double) |
Inicjuje SpotLight nowe wystąpienie klasy przy użyciu określonego koloru, położenia, kierunku i kątów stożka. |
Pola
DirectionProperty |
Identyfikuje Direction właściwość zależności. |
InnerConeAngleProperty |
Identyfikuje InnerConeAngle właściwość zależności. |
OuterConeAngleProperty |
Identyfikuje OuterConeAngle właściwość zależności. |
Właściwości
Bounds |
Pobiera element Rect3D określający pole ograniczenia wyrównane do osi w tym Model3Dobiekcie . (Odziedziczone po Model3D) |
CanFreeze |
Pobiera wartość wskazującą, czy obiekt może być niemodyfikowalny. (Odziedziczone po Freezable) |
Color |
Pobiera lub ustawia kolor światła. (Odziedziczone po Light) |
ConstantAttenuation |
Pobiera lub ustawia stałą wartość, za pomocą której intensywność światła zmniejsza się na odległość. (Odziedziczone po PointLightBase) |
DependencyObjectType |
DependencyObjectType Pobiera opakowujący typ clR tego wystąpienia. (Odziedziczone po DependencyObject) |
Direction |
Pobiera lub ustawia element Vector3D określający kierunek, w którym SpotLight projektuje światło. |
Dispatcher |
Dispatcher Pobiera tę DispatcherObject wartość skojarzona z. (Odziedziczone po DispatcherObject) |
HasAnimatedProperties |
Pobiera wartość wskazującą, czy co najmniej jeden AnimationClock obiekt jest skojarzony z dowolnymi właściwościami zależności tego obiektu. (Odziedziczone po Animatable) |
InnerConeAngle |
Pobiera lub ustawia kąt określający proporcję SpotLightprojekcji w kształcie stożka, w którym światło w pełni oświetla obiekty na scenie. |
IsFrozen |
Pobiera wartość wskazującą, czy obiekt jest obecnie modyfikowalny. (Odziedziczone po Freezable) |
IsSealed |
Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu). (Odziedziczone po DependencyObject) |
LinearAttenuation |
Pobiera lub ustawia wartość określającą liniową dyminację intensywności światła na odległość. (Odziedziczone po PointLightBase) |
OuterConeAngle |
Pobiera lub ustawia kąt określający proporcję SpotLightprojekcji w kształcie stożka, na zewnątrz której światło nie oświetla obiektów na scenie. |
Position |
Pobiera lub ustawia wartość Point3D określającą położenie światła w przestrzeni światowej. (Odziedziczone po PointLightBase) |
QuadraticAttenuation |
Pobiera lub ustawia wartość określającą pomniejszenie efektu światła na odległość obliczoną przez operację kwadratową. (Odziedziczone po PointLightBase) |
Range |
Pobiera lub ustawia odległość, poza którą światło nie ma wpływu. (Odziedziczone po PointLightBase) |
Transform |
Pobiera lub ustawia Transform3D zestaw na modelu. (Odziedziczone po Model3D) |
Metody
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania. (Odziedziczone po Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość . (Odziedziczone po Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, SnapshotAndReplace zostanie użyte zachowanie przekazywania. (Odziedziczone po Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, zostanie użyta określona HandoffBehavior właściwość. (Odziedziczone po Animatable) |
CheckAccess() |
Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
ClearValue(DependencyProperty) |
Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator. (Odziedziczone po DependencyObject) |
ClearValue(DependencyPropertyKey) |
Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement . (Odziedziczone po DependencyObject) |
Clone() |
Tworzy modyfikowalny klon tego SpotLightobiektu , tworząc głębokie kopie wartości tego obiektu. Podczas kopiowania właściwości zależności ta metoda kopiuje odwołania do zasobów i powiązania danych (ale mogą nie być już rozpoznawane), ale nie animacje ani ich bieżące wartości. |
CloneCore(Freezable) |
Sprawia, że wystąpienie jest klonem (kopią głęboką) określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych). (Odziedziczone po Freezable) |
CloneCurrentValue() |
Tworzy modyfikowalny klon tego SpotLight obiektu, tworząc głębokie kopie bieżących wartości tego obiektu. Odwołania do zasobów, powiązania danych i animacje nie są kopiowane, ale ich bieżące wartości są. |
CloneCurrentValueCore(Freezable) |
Sprawia, że wystąpienie jest modyfikowalny klon (kopia głęboka) określonego Freezable przy użyciu bieżących wartości właściwości. (Odziedziczone po Freezable) |
CoerceValue(DependencyProperty) |
Coerce wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject. (Odziedziczone po DependencyObject) |
CreateInstance() |
Inicjuje nowe wystąpienie klasy Freezable. (Odziedziczone po Freezable) |
CreateInstanceCore() |
Po zaimplementowaniu w klasie pochodnej tworzy nowe wystąpienie klasy pochodnej Freezable . (Odziedziczone po Freezable) |
Equals(Object) |
Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu . (Odziedziczone po DependencyObject) |
Freeze() |
Sprawia, że bieżący obiekt jest niezmodyfikowalny i ustawia jego IsFrozen właściwość na |
FreezeCore(Boolean) |
Sprawia, że ten Animatable obiekt jest niezmodyfikowalny lub określa, czy można go niemodyfikować. (Odziedziczone po Animatable) |
GetAnimationBaseValue(DependencyProperty) |
Zwraca wartość nie animowaną określonego DependencyPropertyelementu . (Odziedziczone po Animatable) |
GetAsFrozen() |
Tworzy zamrożoną kopię obiektu Freezableprzy użyciu wartości właściwości base (nie animowanych). Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie. (Odziedziczone po Freezable) |
GetAsFrozenCore(Freezable) |
Sprawia, że wystąpienie jest zamrożonym klonem określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych). (Odziedziczone po Freezable) |
GetCurrentValueAsFrozen() |
Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie. (Odziedziczone po Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Sprawia, że bieżące wystąpienie jest klonem zamrożonym określonego Freezableobiektu . Jeśli obiekt ma animowane właściwości zależności, są kopiowane ich bieżące animowane wartości. (Odziedziczone po Freezable) |
GetHashCode() |
Pobiera kod skrótu dla tego pliku DependencyObject. (Odziedziczone po DependencyObject) |
GetLocalValueEnumerator() |
Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości w tym DependencyObjectelemecie . (Odziedziczone po DependencyObject) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetValue(DependencyProperty) |
Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu DependencyObject. (Odziedziczone po DependencyObject) |
InvalidateProperty(DependencyProperty) |
Ponownie oblicza efektywną wartość dla określonej właściwości zależności. (Odziedziczone po DependencyObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnChanged() |
Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu. (Odziedziczone po Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zapewnia, że odpowiednie wskaźniki kontekstu są ustanawiane dla DependencyObjectType elementu członkowskiego danych, który został właśnie ustawiony. (Odziedziczone po Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu. (Odziedziczone po Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Zastępuje implementację DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) metody w celu wywołania wszystkich Changed procedur obsługi w odpowiedzi na zmieniającą się właściwość zależności typu Freezable. (Odziedziczone po Freezable) |
ReadLocalValue(DependencyProperty) |
Zwraca wartość lokalną właściwości zależności, jeśli istnieje. (Odziedziczone po DependencyObject) |
ReadPreamble() |
Gwarantuje, że dostęp do obiektu Freezable jest uzyskiwany z prawidłowego wątku. Dziedzicze muszą Freezable wywoływać tę metodę na początku dowolnego interfejsu API, który odczytuje elementy członkowskie danych, które nie są właściwościami zależności. (Odziedziczone po Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Ustawia wartość właściwości zależności bez zmiany źródła wartości. (Odziedziczone po DependencyObject) |
SetValue(DependencyProperty, Object) |
Ustawia wartość lokalną właściwości zależności określonej przez jego identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Ustawia wartość lokalną właściwości zależności tylko do odczytu określona przez DependencyPropertyKey identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności. (Odziedziczone po DependencyObject) |
ToString() |
Tworzy reprezentację ciągu modelu3D. (Odziedziczone po Model3D) |
ToString(IFormatProvider) |
Tworzy reprezentację ciągu modelu3D. (Odziedziczone po Model3D) |
VerifyAccess() |
Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
WritePostscript() |
Changed Zgłasza zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable programu powinny wywoływać tę metodę na końcu dowolnego interfejsu API, który modyfikuje składowe klasy, które nie są przechowywane jako właściwości zależności. (Odziedziczone po Freezable) |
WritePreamble() |
Sprawdza, czy Freezable element nie jest zamrożony i czy jest uzyskiwany dostęp do niego z prawidłowego kontekstu wątkowego. Freezable dziedzicze powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje do elementów członkowskich danych, które nie są właściwościami zależności. (Odziedziczone po Freezable) |
Zdarzenia
Changed |
Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany. (Odziedziczone po Freezable) |
Jawne implementacje interfejsu
IFormattable.ToString(String, IFormatProvider) |
Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu. (Odziedziczone po Model3D) |