SpotLight Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Etkisini belirtilen yöndeki koni şeklindeki bir alanda projelendiren açık nesne.
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
- Devralma
Örnekler
Aşağıdaki örnekte, 3B bir sahnede SpotLight oluşturma gösterilmektedir.
<!-- 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>
Aşağıdaki kod, örneğin tamamını gösterir.
<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>
Açıklamalar
SpotLight bir PointLighttürüdür çünkü konumu, aralığı ve hafifletmesi vardır. Ancak, SpotLight ışığın etkisinin koninin yönünü, şeklini ve diğer özelliklerini de denetlemenize olanak tanır.
öne çıkarma efektini değiştirmek için OuterConeAngle (hiçbir şeyin aydınlatılamadığı) ve InnerConeAngle (her şeyin tamamen aydınlatıldığı) değerlerini belirtin.
İç koninin dışı ile dış koni arasındaki aydınlatma doğrusal olarak düşer.
Oluşturucular
SpotLight() |
SpotLight sınıfının yeni bir örneğini başlatır. |
SpotLight(Color, Point3D, Vector3D, Double, Double) |
Belirtilen renk, konum, yön ve koni açılarını kullanarak SpotLight sınıfının yeni bir örneğini başlatır. |
Alanlar
DirectionProperty |
Direction bağımlılık özelliğini tanımlar. |
InnerConeAngleProperty |
InnerConeAngle bağımlılık özelliğini tanımlar. |
OuterConeAngleProperty |
OuterConeAngle bağımlılık özelliğini tanımlar. |
Özellikler
Bounds |
Bu Model3Deksene hizalanmış sınırlayıcı kutusunu belirten bir Rect3D alır. (Devralındığı yer: Model3D) |
CanFreeze |
Nesnenin değiştirilemez hale getirilip getirilemeyeceğini gösteren bir değer alır. (Devralındığı yer: Freezable) |
Color |
Işığın rengini alır veya ayarlar. (Devralındığı yer: Light) |
ConstantAttenuation |
Işığın yoğunluğunun uzaklıkta karardığı sabit bir değer alır veya ayarlar. (Devralındığı yer: PointLightBase) |
DependencyObjectType |
Bu örneğin CLR türünü sarmalayan DependencyObjectType alır. (Devralındığı yer: DependencyObject) |
Direction |
SpotLight ışığını hangi yönde projelediğini belirten bir Vector3D alır veya ayarlar. |
Dispatcher |
Bu DispatcherObject ilişkilendirilen Dispatcher alır. (Devralındığı yer: DispatcherObject) |
HasAnimatedProperties |
Bir veya daha fazla AnimationClock nesnesinin bu nesnenin bağımlılık özelliklerinden herhangi biriyle ilişkili olup olmadığını gösteren bir değer alır. (Devralındığı yer: Animatable) |
InnerConeAngle |
SpotLightkoni şeklindeki projeksiyonun oranını belirten ve ışığın sahnedeki nesneleri tamamen aydınlattığını belirten bir açı alır veya ayarlar. |
IsFrozen |
Nesnenin şu anda değiştirilebilir olup olmadığını gösteren bir değer alır. (Devralındığı yer: Freezable) |
IsSealed |
Bu örneğin şu anda korumalı (salt okunur) olup olmadığını gösteren bir değer alır. (Devralındığı yer: DependencyObject) |
LinearAttenuation |
Işığın uzaklık üzerindeki yoğunluğunun doğrusal azalmasını belirten bir değer alır veya ayarlar. (Devralındığı yer: PointLightBase) |
OuterConeAngle |
SpotLightkoni şeklindeki projeksiyonunun oranını belirten ve ışığın sahnedeki nesneleri aydınlatmadığı bir açıyı alır veya ayarlar. |
Position |
Işığın dünya uzayı içindeki konumunu belirten bir Point3D alır veya ayarlar. (Devralındığı yer: PointLightBase) |
QuadraticAttenuation |
İkincil bir işlemle hesaplanan ışığın uzaklık üzerindeki etkisinin azalmasını belirten bir değer alır veya ayarlar. (Devralındığı yer: PointLightBase) |
Range |
Işığın etkisi olmayan mesafeyi alır veya ayarlar. (Devralındığı yer: PointLightBase) |
Transform |
Modelde ayarlanan Transform3D alır veya ayarlar. (Devralındığı yer: Model3D) |
Yöntemler
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Belirtilen DependencyPropertybir AnimationClock uygular. Özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır. (Devralındığı yer: Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Belirtilen DependencyPropertybir AnimationClock uygular. Özelliği zaten animasyonlu ise, SnapshotAndReplace iletim davranışı kullanılır. (Devralındığı yer: Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Belirtilen DependencyPropertybir animasyon uygular. Animasyon, sonraki çerçeve işlendiğinde başlatılır. Belirtilen özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır. (Devralındığı yer: Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Belirtilen DependencyPropertybir animasyon uygular. Animasyon, sonraki çerçeve işlendiğinde başlatılır. Belirtilen özellik zaten animasyonluysa, SnapshotAndReplace iletim davranışı kullanılır. (Devralındığı yer: Animatable) |
CheckAccess() |
Çağıran iş parçacığının bu DispatcherObjecterişimi olup olmadığını belirler. (Devralındığı yer: DispatcherObject) |
ClearValue(DependencyProperty) |
Bir özelliğin yerel değerini temizler. Temizlenecek özellik bir DependencyProperty tanımlayıcısı tarafından belirtilir. (Devralındığı yer: DependencyObject) |
ClearValue(DependencyPropertyKey) |
Salt okunur özelliğin yerel değerini temizler. Temizlenecek özellik bir DependencyPropertyKeytarafından belirtilir. (Devralındığı yer: DependencyObject) |
Clone() |
Bu SpotLightdeğiştirilebilir bir kopyasını oluşturur ve bu nesnenin değerlerinin derin kopyalarını oluşturur. Bağımlılık özelliklerini kopyalarken, bu yöntem kaynak başvurularını ve veri bağlamalarını kopyalar (ancak bunlar artık çözümlenmeyebilir) ancak animasyonları veya geçerli değerlerini kopyalar. |
CloneCore(Freezable) |
Temel (animasyonsuz) özellik değerlerini kullanarak örneği belirtilen Freezable bir kopyası (derin kopya) yapar. (Devralındığı yer: Freezable) |
CloneCurrentValue() |
Bu SpotLight nesnesinin değiştirilebilir bir kopyasını oluşturarak bu nesnenin geçerli değerlerinin derin kopyalarını oluşturur. Kaynak başvuruları, veri bağlamaları ve animasyonlar kopyalanmaz, ancak geçerli değerleri kopyalanır. |
CloneCurrentValueCore(Freezable) |
Örneği, geçerli özellik değerlerini kullanarak belirtilen Freezable değiştirilebilir bir kopyası (derin kopya) yapar. (Devralındığı yer: Freezable) |
CoerceValue(DependencyProperty) |
Belirtilen bağımlılık özelliğinin değerini zorlama. Bu, bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir CoerceValueCallback işlevi çağrılarak DependencyObject. (Devralındığı yer: DependencyObject) |
CreateInstance() |
Freezable sınıfının yeni bir örneğini başlatır. (Devralındığı yer: Freezable) |
CreateInstanceCore() |
Türetilmiş bir sınıfta uygulandığında, türetilmiş Freezable sınıfının yeni bir örneğini oluşturur. (Devralındığı yer: Freezable) |
Equals(Object) |
Sağlanan bir DependencyObject geçerli DependencyObjecteşdeğer olup olmadığını belirler. (Devralındığı yer: DependencyObject) |
Freeze() |
Geçerli nesneyi değiştirilemez hale getirir ve IsFrozen özelliğini |
FreezeCore(Boolean) |
Bu Animatable nesnesini değiştirilemez hale getirir veya değiştirilemez hale getirilip getirilemeyeceğini belirler. (Devralındığı yer: Animatable) |
GetAnimationBaseValue(DependencyProperty) |
Belirtilen DependencyPropertyanimasyonsuz değerini döndürür. (Devralındığı yer: Animatable) |
GetAsFrozen() |
temel (animasyonsuz) özellik değerlerini kullanarak Freezabledonmuş bir kopyasını oluşturur. Kopya dondurulacağından, dondurulan alt nesneler başvuruyla kopyalanır. (Devralındığı yer: Freezable) |
GetAsFrozenCore(Freezable) |
Temel (animasyonsuz) özellik değerlerini kullanarak örneği belirtilen Freezable donmuş bir kopyası yapar. (Devralındığı yer: Freezable) |
GetCurrentValueAsFrozen() |
Geçerli özellik değerlerini kullanarak Freezable donmuş bir kopyasını oluşturur. Kopya dondurulacağından, dondurulan alt nesneler başvuruyla kopyalanır. (Devralındığı yer: Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Geçerli örneği, belirtilen Freezabledonmuş bir kopyası yapar. Nesne animasyonlu bağımlılık özelliklerine sahipse, geçerli animasyonlu değerleri kopyalanır. (Devralındığı yer: Freezable) |
GetHashCode() |
Bu DependencyObjectiçin bir karma kodu alır. (Devralındığı yer: DependencyObject) |
GetLocalValueEnumerator() |
Bu DependencyObjecthangi bağımlılık özelliklerinin yerel olarak ayarlandığını belirlemek için özel bir numaralandırıcı oluşturur. (Devralındığı yer: DependencyObject) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
GetValue(DependencyProperty) |
bir DependencyObjectbu örneğindeki bağımlılık özelliğinin geçerli etkin değerini döndürür. (Devralındığı yer: DependencyObject) |
InvalidateProperty(DependencyProperty) |
Belirtilen bağımlılık özelliği için geçerli değeri yeniden değerlendirir. (Devralındığı yer: DependencyObject) |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnChanged() |
Geçerli Freezable nesnesi değiştirildiğinde çağrılır. (Devralındığı yer: Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Bu üye Windows Presentation Foundation (WPF) altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. (Devralındığı yer: Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Yeni ayarlanmış bir DependencyObjectType veri üyesi için uygun bağlam işaretçilerinin oluşturulmasını sağlar. (Devralındığı yer: Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Freezabletüründeki değişen bağımlılık özelliğine yanıt olarak Changed işleyicilerini çağırmak için OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject uygulamasını geçersiz kılar. (Devralındığı yer: Freezable) |
ReadLocalValue(DependencyProperty) |
Varsa, bağımlılık özelliğinin yerel değerini döndürür. (Devralındığı yer: DependencyObject) |
ReadPreamble() |
Freezable geçerli bir iş parçacığından erişilmesini sağlar. Freezable devralanları, bağımlılık özellikleri olmayan veri üyelerini okuyan herhangi bir API'nin başında bu yöntemi çağırmalıdır. (Devralındığı yer: Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Bir bağımlılık özelliğinin değerini, değer kaynağını değiştirmeden ayarlar. (Devralındığı yer: DependencyObject) |
SetValue(DependencyProperty, Object) |
Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar. (Devralındığı yer: DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Bağımlılık özelliğinin DependencyPropertyKey tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin yerel değerini ayarlar. (Devralındığı yer: DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Serileştirme işlemlerinin sağlanan bağımlılık özelliği için değeri serileştirmesi gerekip gerekmediğini gösteren bir değer döndürür. (Devralındığı yer: DependencyObject) |
ToString() |
Model3D'nin dize gösterimini oluşturur. (Devralındığı yer: Model3D) |
ToString(IFormatProvider) |
Model3D'nin dize gösterimini oluşturur. (Devralındığı yer: Model3D) |
VerifyAccess() |
Çağıran iş parçacığının bu DispatcherObjecterişmesini zorlar. (Devralındığı yer: DispatcherObject) |
WritePostscript() |
Freezable için Changed olayını yükseltir ve OnChanged() yöntemini çağırır. Freezable türetilen sınıflar, bağımlılık özellikleri olarak depolanmayan sınıf üyelerini değiştiren herhangi bir API'nin sonunda bu yöntemi çağırmalıdır. (Devralındığı yer: Freezable) |
WritePreamble() |
Freezable dondurulmadığını ve geçerli bir iş parçacığı bağlamından erişildiğini doğrular. Freezable devralanların bağımlılık özellikleri olmayan veri üyelerine yazan herhangi bir API'nin başında bu yöntemi çağırması gerekir. (Devralındığı yer: Freezable) |
Ekinlikler
Changed |
Freezable veya içerdiği bir nesne değiştirildiğinde gerçekleşir. (Devralındığı yer: Freezable) |
Belirtik Arabirim Kullanımları
IFormattable.ToString(String, IFormatProvider) |
Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin. (Devralındığı yer: Model3D) |