Shape3DRotationEffect.cs
//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System.Drawing;using GrapeCity.Documents.Word;
namespace DsWordWeb.Demos{ // This example shows how to add a 3D rotation effect to a shape. public class Shape3DRotationEffect { public GcWordDocument CreateDocx() { var doc = new GcWordDocument();
Paragraph paragraph = doc.Body.Paragraphs.Add(); Run run = paragraph.GetRange().Runs.Add(); Shape shape = run.GetRange().Shapes.Add(200, 200, GeometryType.Rectangle); shape.Fill.Type = FillType.Solid; shape.Fill.SolidFill.ThemeColor = ThemeColorId.Accent1;
shape.Line.Fill.Type = FillType.NoFill;
OuterShadow shadow = shape.Effects.Shadow; shadow.Alignment = RectangleAlignment.Center; shadow.Angle = 87f; shadow.Blur = 17.75f; shadow.Distance = 4f; shadow.Color.RGB = Color.FromArgb(255, 0, 0, 0); shadow.Color.Transparency = 0.67f;
// apply 3D format ThreeDFormat threeDFormat = shape.Effects.ThreeDFormat; threeDFormat.Depth.Width = 20f; threeDFormat.Contour.Width = 1.5f; threeDFormat.Contour.Color.RGB = Color.FromArgb(255, 255, 255, 255);
Bevel topbevel = threeDFormat.TopBevel; topbevel.Type = BevelType.Angle; topbevel.Width = 6.5f; topbevel.Height = 3.5f;
Bevel bottomBevel = threeDFormat.BottomBevel; bottomBevel.Type = BevelType.Angle; bottomBevel.Width = 6.5f; bottomBevel.Height = 3.5f;
// apply 3D scene Lighting lighting = shape.Effects.ThreeDScene.Lighting; lighting.Type = LightRigType.Harsh; lighting.Direction = LightRigDirection.Top; lighting.Rotation.Latitude = 0f; lighting.Rotation.Longitude = 0f; lighting.Rotation.Revolution = 50f;
Camera camera = shape.Effects.ThreeDScene.Camera; camera.Preset = CameraPreset.PerspectiveFront; camera.Perspective = 55f; camera.Rotation.Latitude = 8.1f; camera.Rotation.Longitude = 325.5f; camera.Rotation.Revolution = 2.9f;
// Done: return doc; } }}