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; } }
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); }
private static PxMetaImage DoColor(PxMetaImage source) { return(PxSDK.ImageColorBinarization(source)); }
private static PxMetaImage DoGray(PxMetaImage source) { return(PxSDK.ImageGrayBinarization(source)); }
private static PxMetaImage DoBW(PxMetaImage source) { return(PxSDK.ImageBWBinarization(source)); }
private static PxMetaImage DoOriginal(PxMetaImage source) { return(PxSDK.ImageOriginal(source)); }
private PxMetaImage ProcessPerspective(PxMetaImage source) { // Get image without perspective distortion. return(PxSDK.CorrectDocument(source, ref points)); }
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; }
private void LoadPhoto(UIImage image, NSDictionary metadata) { PxMetaImage metaImage = new PxMetaImage(image, metadata); LoadPhoto(metaImage); }
private void LoadPhoto(UIImage image, string path) { PxMetaImage metaImage = new PxMetaImage(image, path); LoadPhoto(metaImage); }