示例#1
0
        protected override void Execute(CodeActivityContext context)
        {
            ValidateInputArguments(context);

            var processInvokeWrapper = new RunProcessWrapper(FileName.Get(context),
                                                             Arguments.Get(context),
                                                             WorkingDirectory.Get(context),
                                                             CaptureOutput.Get(context),
                                                             WaitForExit.Get(context),
                                                             WaitForExitTimeout.Get(context),
                                                             KillAtTimeout.Get(context));

            processInvokeWrapper.StartProcess();

            ProcessId.Set(context, processInvokeWrapper.ProcessId);
            Finished.Set(context, processInvokeWrapper.Finished);
            Output.Set(context, processInvokeWrapper.StandardOutput);
            Error.Set(context, processInvokeWrapper.StandardError);
            ExitCode.Set(context, processInvokeWrapper.ExitCode);
        }
示例#2
0
        CommandResult ExecuteCommandInternal(string arguments, out string result, ICommandOutput output = null)
        {
            var environmentVar = defaultEnvironmentVariables;

            if (environmentVariables != null)
            {
                environmentVar.MergeDictionaries(environmentVariables);
            }

            var commandLineInvocation = new CommandLineInvocation(TerraformExecutable,
                                                                  arguments, TemplateDirectory, environmentVar);

            var commandOutput = new CaptureOutput(output ?? new ConsoleCommandOutput());
            var cmd           = new CommandLineRunner(commandOutput);

            Log.Info(commandLineInvocation.ToString());

            var commandResult = cmd.Execute(commandLineInvocation);

            result = String.Join("\n", commandOutput.Infos);

            return(commandResult);
        }
        public async Task <NSData> CapturePhoto()
        {
            var videoConnection = CaptureOutput.ConnectionFromMediaType(AVMediaType.Video);
            var sampleBuffer    = await CaptureOutput.CaptureStillImageTaskAsync(videoConnection);

            var jpegData = AVCaptureStillImageOutput.JpegStillToNSData(sampleBuffer);
            var image    = UIImage.LoadFromData(jpegData);

            CGImage             imgRed                 = image.CGImage;
            UIDevice            device                 = UIDevice.CurrentDevice;
            UIDeviceOrientation orientation            = device.Orientation;
            AVCaptureConnection previewLayerConnection = this.previewLayer.Connection;
            var photo = new UIImage(jpegData);

            if (previewLayerConnection.SupportsVideoOrientation)

            {
                if (orientation == UIDeviceOrientation.Portrait)
                {
                    UpdatePreviewLayer(previewLayerConnection,
                                       AVCaptureVideoOrientation.Portrait);
                    NSData ret = photo.AsJPEG();
                    return(ret);;
                }

                switch (orientation)
                {
                case UIDeviceOrientation.PortraitUpsideDown:
                    photo = new UIImage(image.CGImage, 1.0f, UIImageOrientation.Up);
                    //  UpdatePreviewLayer(previewLayerConnection,
                    //    AVCaptureVideoOrientation.Portrait);
                    break;

                case UIDeviceOrientation.LandscapeLeft:
                    photo = new UIImage(image.CGImage, 1.0f, UIImageOrientation.Up);
                    //  UpdatePreviewLayer(previewLayerConnection,
                    //      AVCaptureVideoOrientation.Portrait);
                    break;

                case UIDeviceOrientation.LandscapeRight:
                    photo = new UIImage(image.CGImage, 1.0f, UIImageOrientation.Down);
                    // UpdatePreviewLayer(previewLayerConnection,
                    //  AVCaptureVideoOrientation.Portrait);
                    break;

                case UIDeviceOrientation.Portrait:
                    //  photo = new UIImage(image.CGImage, 1.0f, UIImageOrientation.Up);
                    // UpdatePreviewLayer(previewLayerConnection,
                    //     AVCaptureVideoOrientation.Portrait);
                    break;

                default:
                    //UpdatePreviewLayer(previewLayerConnection,
                    //  AVCaptureVideoOrientation.Portrait);
                    //photo = new UIImage(image.CGImage, 1.0f, UIImageOrientation.Up);
                    break;
                }
            }
            LayoutSubviews();
            NSData retrunObj = photo.AsJPEG();

            return(retrunObj);
            // var photo = new UIImage(jpegData);
            // var rotatedPhoto = RotateImage(photo, 180f);


            //   var jpegImageAsNsData = AVCaptureStillImageOutput.JpegStillToNSData(sampleBuffer);
            //   return jpegImageAsNsData;

            /* CALayer layer = new CALayer
             * {
             *   //ContentsGravity = "kCAGravityResizeAspect",
             *   //ContentsRect = rect,
             *   //GeometryFlipped = true,
             *   ContentsScale = 1.0f,
             *   Frame = Bounds,
             *   Contents = rotatedPhoto.CGImage //Contents = photo.CGImage,
             * };
             * layer.Frame = previewLayer.Frame;
             *
             * var image= ImageFromLayer(layer);
             * NSData imageData = image.AsJPEG();
             * return imageData;
             * /*var t=CIIma.LoadFromData()
             * image.LoadData(NSData.FromArray(sampleBuffer));
             * var jpegImageAsNsData = AVCaptureStillImageOutput.JpegStillToNSData(image.AsJPEG());
             * return jpegImageAsNsData;
             * ImageFromLayer(layer).AsJPEG().AsStream());
             * // MainPage.UpdateImage(ImageFromLayer(layer).AsJPEG().AsStream());*/
        }