Esempio n. 1
0
        private void LoadPhoto(PxMetaImage metaImage)
        {
            using (NSAutoreleasePool autoreleasePool = new NSAutoreleasePool())
            {
                UIImage image           = metaImage.Image;
                CGSize  maxSuportedSize = PxSDK.SupportedImageSize(image.Size);
                if (image.Size != maxSuportedSize)
                {
                    // Resize input image if its size is greater than the supported maximum
                    metaImage.Image = ImageUtils.ScaleImage(image, maxSuportedSize);
                }

                this.inImage            = metaImage;
                this.outImage           = null;
                this.ImageView.Image    = metaImage.Image;
                this.SaveButton.Enabled = false;
            }
        }
Esempio n. 2
0
        private bool ProcessCrop(PxMetaImage source, out PxRectangle pts)
        {
            PxDocCorners docCorners;
            bool         result = PxSDK.DetectDocumentCorners(source, out docCorners);

            pts.leftTop     = docCorners.ptUL;
            pts.rightTop    = docCorners.ptUR;
            pts.leftBotton  = docCorners.ptBL;
            pts.rightBotton = docCorners.ptBR;

            bool isSmartCropMode = false;

            if (result)
            {
                isSmartCropMode = docCorners.isSmartCropMode;
            }

            return(isSmartCropMode);
        }
Esempio n. 3
0
 private static PxMetaImage DoColor(PxMetaImage source)
 {
     return(PxSDK.ImageColorBinarization(source));
 }
Esempio n. 4
0
 private static PxMetaImage DoGray(PxMetaImage source)
 {
     return(PxSDK.ImageGrayBinarization(source));
 }
Esempio n. 5
0
 private static PxMetaImage DoBW(PxMetaImage source)
 {
     return(PxSDK.ImageBWBinarization(source));
 }
Esempio n. 6
0
 private static PxMetaImage DoOriginal(PxMetaImage source)
 {
     return(PxSDK.ImageOriginal(source));
 }
Esempio n. 7
0
 private PxMetaImage ProcessPerspective(PxMetaImage source)
 {
     // Get image without perspective distortion.
     return(PxSDK.CorrectDocument(source, ref points));
 }
Esempio n. 8
0
        private void Process()
        {
            PxMetaImage outImg = null;

            using (NSAutoreleasePool autoreleasePool = new NSAutoreleasePool())
            {
                outImg = ProcessPerspective(this.inImage);

                this.inImage = null;

                if (outImg != null)
                {
                    NSUserDefaults defaults = NSUserDefaults.StandardUserDefaults;

                    int profile = (int)defaults.IntForKey("selectedProfile");

                    switch (profile)
                    {
                    case 0:
                        outImg = DoOriginal(outImg);
                        break;

                    case 1:
                        outImg = DoBW(outImg);
                        break;

                    case 2:
                        outImg = DoGray(outImg);
                        break;

                    case 3:
                        outImg = DoColor(outImg);
                        break;
                    }
                }
            }

            switch (outImg.Orientation)
            {
            case PxMetaImage_Orientation.Normal:
                this.rotationAngle = 0;
                break;

            case PxMetaImage_Orientation.Rotate90:
                this.rotationAngle = 90;
                break;

            case PxMetaImage_Orientation.Rotate180:
                this.rotationAngle = 180;
                break;

            case PxMetaImage_Orientation.Rotate270:
                this.rotationAngle = 270;
                break;

            default:
                this.rotationAngle = 0;
                break;
            }

            if (outImg == null)
            {
                this.ImageView.Image = null;
            }
            else
            {
                this.RotateLeft.Enabled  = true;
                this.RotateRight.Enabled = true;
                this.SaveButton.Enabled  = true;

                this.ImageView.Image = outImg.Image;
            }

            this.outImage = outImg;
        }
Esempio n. 9
0
        private void LoadPhoto(UIImage image, NSDictionary metadata)
        {
            PxMetaImage metaImage = new PxMetaImage(image, metadata);

            LoadPhoto(metaImage);
        }
Esempio n. 10
0
        private void LoadPhoto(UIImage image, string path)
        {
            PxMetaImage metaImage = new PxMetaImage(image, path);

            LoadPhoto(metaImage);
        }