OrthographicCamera 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表正視投影照相機。
public ref class OrthographicCamera sealed : System::Windows::Media::Media3D::ProjectionCamera
public sealed class OrthographicCamera : System.Windows.Media.Media3D.ProjectionCamera
type OrthographicCamera = class
inherit ProjectionCamera
Public NotInheritable Class OrthographicCamera
Inherits ProjectionCamera
- 繼承
-
OrthographicCamera
範例
下列範例示範如何建立 OrthographicCamera 和切換相機投影。
//Toggle between camera projections.
public void ToggleCamera(object sender, EventArgs e)
{
if ((bool)CameraCheck.IsChecked == true)
{
OrthographicCamera myOCamera = new OrthographicCamera(new Point3D(0, 0, -3), new Vector3D(0, 0, 1), new Vector3D(0, 1, 0), 3);
myViewport.Camera = myOCamera;
}
if ((bool)CameraCheck.IsChecked != true)
{
PerspectiveCamera myPCamera = new PerspectiveCamera(new Point3D(0, 0, -3), new Vector3D(0, 0, 1), new Vector3D(0, 1, 0), 50);
myViewport.Camera = myPCamera;
}
}
'Toggle between camera projections.
Public Sub ToggleCamera(ByVal sender As Object, ByVal e As EventArgs)
If CBool(CameraCheck.IsChecked) = True Then
Dim myOCamera As New OrthographicCamera(New Point3D(0, 0, -3), New Vector3D(0, 0, 1), New Vector3D(0, 1, 0), 3)
myViewport.Camera = myOCamera
End If
If CBool(CameraCheck.IsChecked) <> True Then
Dim myPCamera As New PerspectiveCamera(New Point3D(0, 0, -3), New Vector3D(0, 0, 1), New Vector3D(0, 1, 0), 50)
myViewport.Camera = myPCamera
End If
End Sub
備註
這個類別會指定立體模型對平面視覺表面的正交投影。 如同 PerspectiveCamera ,它會指定位置、檢視方向和「向上」方向。 不過,不同于 PerspectiveCamera , OrthographicCamera 描述不包含前景檢視方塊的投影。 換句話說, OrthographicCamera 描述側邊平行的檢視方塊,而不是一個側邊在場景水平線點相合的檢視方塊。
下圖顯示正視與透視前景相機投影之間的差異。
建構函式
OrthographicCamera() |
初始化 OrthographicCamera 類別的新執行個體。 |
OrthographicCamera(Point3D, Vector3D, Vector3D, Double) |
初始化 OrthographicCamera 類別的新執行個體,這個執行個體具有指定的位置、投影方向、向上方向和寬度。 |
欄位
WidthProperty |
識別 Width 相依性屬性。 |
屬性
CanFreeze |
取得值,指出是否可以將物件設為不可修改。 (繼承來源 Freezable) |
DependencyObjectType |
DependencyObjectType取得包裝這個實例之 CLR 型別的 。 (繼承來源 DependencyObject) |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
FarPlaneDistance |
取得或設定值,指定從相機到此相機遠裁剪平面的距離。 (繼承來源 ProjectionCamera) |
HasAnimatedProperties |
取得值,這個值表示是否有一個或多個 AnimationClock 物件與這個物件的任何一個相依性屬性相關聯。 (繼承來源 Animatable) |
IsFrozen |
取得值,該值表示物件目前是否可修改。 (繼承來源 Freezable) |
IsSealed |
取得值,這個值表示此執行個體目前是否已密封 (唯讀)。 (繼承來源 DependencyObject) |
LookDirection |
取得或設定 Vector3D,它會定義相機在全局座標中的觀看方向。 (繼承來源 ProjectionCamera) |
NearPlaneDistance |
取得或設定值,這個值指定從相機到相機接近裁剪平面的距離。 (繼承來源 ProjectionCamera) |
Position |
取得或設定相機在全局空間中的位置。 (繼承來源 ProjectionCamera) |
Transform |
取得或設定相機套用的 Transform3D。 (繼承來源 Camera) |
UpDirection |
取得或設定 Vector3D,它會定義相機的向上方向。 (繼承來源 ProjectionCamera) |
Width |
取得或設定相機檢視方塊的寬度,以全局單位表示。 |
方法
事件
Changed |
發生於 Freezable 或所含的物件遭到修改時。 (繼承來源 Freezable) |
明確介面實作
IFormattable.ToString(String, IFormatProvider) |
使用指定的格式,格式化目前執行個體的值。 (繼承來源 Camera) |