当前位置: 首页>>代码示例>>C#>>正文


C# Viewport3D.Measure方法代码示例

本文整理汇总了C#中System.Windows.Controls.Viewport3D.Measure方法的典型用法代码示例。如果您正苦于以下问题:C# Viewport3D.Measure方法的具体用法?C# Viewport3D.Measure怎么用?C# Viewport3D.Measure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Controls.Viewport3D的用法示例。


在下文中一共展示了Viewport3D.Measure方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Create3DViewPort

        private void Create3DViewPort()
        {
            var hvp3d = new HelixViewport3D();
            Viewport3D vp3d = new Viewport3D();
            var lights = new DefaultLights();
            var tp = new Teapot();

            hvp3d.Children.Add(lights);
            hvp3d.Children.Add(tp);

            vp3d = hvp3d.Viewport;
            tata.Children.Add(vp3d); // comenter ca pour test

            /* MEGA TEST DE L'ESPACE SUBSAHARIEN */

            RenderTargetBitmap bmp = new RenderTargetBitmap(800, 800, 96, 96, PixelFormats.Pbgra32);
            var rect = new Rect(0, 0, 800, 800);
            vp3d.Measure(new Size(800, 800));
            vp3d.Arrange(rect);
            vp3d.InvalidateVisual();
            
            bmp.Render(vp3d);

            PngBitmapEncoder png = new PngBitmapEncoder();
            png.Frames.Add(BitmapFrame.Create(bmp));

            String filepath = "C:\\Users\\Remi\\Desktop\\canardmasque.png";
            using (Stream stm = File.Create(filepath))
            {
                png.Save(stm);
            }
        }
开发者ID:remi-hernandez,项目名称:renderHelixViewPort3d,代码行数:32,代码来源:MainWindow.xaml.cs

示例2: copyFaceImage

        public void copyFaceImage(Viewport3D viewport3d)
        {

            if (renderEnabled)
                renderEnabled = false;
            else
                return;

            int width = 300;
            int height = 300;

            viewport3d.Width = width;

            viewport3d.Height = height;

            viewport3d.Measure(new Size(width, height));

            viewport3d.Arrange(new System.Windows.Rect(0, 0, width, height));

            //            bmp = new RenderTargetBitmap((int)viewport3d.ActualWidth, (int)viewport3d.ActualHeight, 96, 96, PixelFormats.Pbgra32);
            //            bmp.Render(viewport3d);

            RenderTargetBitmap bmp = new RenderTargetBitmap((int)viewport3d.ActualWidth,
                (int)viewport3d.ActualHeight, 96, 96, PixelFormats.Default);
            bmp.Render(viewport3d);
            //FaceImage.imageObj = bmp;
            //            viewport3d.Visibility = Visibility.Collapsed;
            //            FaceImage.Visibility = Visibility.Visible;

            faceGrid[currentMatrixRow, currentMatrixColumn].ImageObj.Source = bmp;
            faceGrid[currentMatrixRow, currentMatrixColumn].ImageObj.Visibility = Visibility.Visible;

            if (currentMatrixRow < 3) currentMatrixRow++;
            else
            {
                currentMatrixRow = 0;
                if (currentMatrixColumn < 3) currentMatrixColumn++;
                else
                    currentMatrixColumn = 0;
            }


            //this.saveFaceImageToFile(bmp);
            //taskFactory.StartNew(() => saveFaceImageToFile(bmp));
        }
开发者ID:sachindeshpande,项目名称:InteractiveMedia,代码行数:45,代码来源:FaceGridPanel.xaml.cs

示例3: Convert_to_Image

        public void Convert_to_Image(Canvas can, int pane_number)
        {

            if (pane_number == -1)
            {

                //clear hashtable as new plot will overwirte previous image
                Canvas_Obj.Clear();
                Updates.Clear();

                PngBitmapEncoder encoder = new PngBitmapEncoder();
                Canvas_Obj[1] = can;
                Transform transform = can.LayoutTransform;

                // reset current transform incase of scalling or rotating
                can.LayoutTransform = null;

                // get size of canvas
                Size size = new Size(can.Width, can.Height);

                // measure and arrange the canvas
                can.Measure(size);
                can.Arrange(new Rect(size));

                // create and render surface and push bitmap to it
                RenderTargetBitmap renderBitmap = new RenderTargetBitmap((Int32)size.Width, (Int32)size.Height, 100d, 100d, PixelFormats.Pbgra32);

                // now render surface to bitmap
                renderBitmap.Render(can);

                // puch rendered bitmap into it
                encoder.Frames.Add(BitmapFrame.Create(renderBitmap));

                encoder1 = encoder;

                //passing encoder to plotreceiver module
                returnEncoderImage();

                //// create image to return
                //Image returnImage = new Image();
                //// set source of image as frame
                //returnImage.Source = encoder.Frames[0];

                //// restore previously saved layout
                //can.LayoutTransform = transform;

                ////check if the directory exists or not and if not exist create a new one.
                //if (!Directory.Exists(imagepath))
                //    Directory.CreateDirectory(imagepath);

                //// string for saving
                //String tempPath = imagepath + "\\image.png";

                //// create a file stream for saving image
                //using (FileStream outStream = new FileStream(tempPath, FileMode.Create))
                //{
                //    encoder.Save(outStream);
                //}
                
            }
            #region code
            else if (pane_number == -2)
            {
                Canvas_Obj.Clear();
                Updates.Clear();


                PngBitmapEncoder encoder = new PngBitmapEncoder();
                Canvas_Obj[1] = can;
                Viewport3D vi = new Viewport3D();
                vi = (Viewport3D)can.Children[0];
                Transform transform = vi.LayoutTransform;
                //TextBlock txt = new TextBlock() { Text = "Plot3D" };
                // reset current transform incase of scalling or rotating
                vi.LayoutTransform = null;

                // get size of canvas
                Size size = new Size(vi.Width, vi.Height);

                // measure and arrange the canvas
                vi.Measure(size);
                vi.Arrange(new Rect(size));

                // create and render surface and push bitmap to it
                RenderTargetBitmap renderBitmap = new RenderTargetBitmap((Int32)size.Width, (Int32)size.Height, 100d, 100d, PixelFormats.Pbgra32);

                // now render surface to bitmap
                renderBitmap.Render(vi);

                // puch rendered bitmap into it
                encoder.Frames.Add(BitmapFrame.Create(renderBitmap));

                encoder1 = encoder;

                //passing encoder to plotreceiver module
                returnEncoderImage();

                //// create image to return
                //Image returnImage = new Image();
                //// set source of image as frame
//.........这里部分代码省略.........
开发者ID:shranjan,项目名称:pinac,代码行数:101,代码来源:PlotManager.cs


注:本文中的System.Windows.Controls.Viewport3D.Measure方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。