/// <summary> /// Additionally sets the rotation(orientation) in the candidate object. /// </summary> /// <param name="candidate"></param> /// <returns></returns> public static IList <Image> buildTwoFixedRotationImageFromCandidate(BallotCandidateJSON candidate) { IList <Image> res = new List <Image>(2); res.Add(new Image()); res.Add(new Image()); SKBitmap rotatedBmp = buildFixedRotationSKBitmapFromBytes(candidate.imgStr, (ExifOrientation)candidate.orientation); if (rotatedBmp != null) { //result = SKImageToXamarinImage(SKImage.FromBitmap((SKBitmap)rotatedBmp)); SKImage img = SKImage.FromBitmap((SKBitmap)rotatedBmp); res[0] = SKImageToXamarinImage(img); res[1] = SKImageToXamarinImage(img); } if (rotatedBmp != null) { // > means square images are treated as landscape. if (rotatedBmp.Height > rotatedBmp.Width) { candidate.isPortrait = BallotCandidateJSON.PORTRAIT; } else { candidate.isPortrait = BallotCandidateJSON.LANDSCAPE; } } return(res); }
/// <summary> /// Additionally sets the rotation(orientation) in the candidate object. /// </summary> /// <param name="candidate"></param> /// <returns></returns> public static Image buildFixedRotationImage(BallotCandidateJSON candidate) { Image result = new Image(); SKBitmap rotatedBmp = buildFixedRotationSKBitmapFromBytes(candidate.imgStr, (ExifOrientation)candidate.orientation); if (rotatedBmp != null) { // > means square images are treated as landscape. if (rotatedBmp.Height > rotatedBmp.Width) { candidate.isPortrait = BallotCandidateJSON.PORTRAIT; } else { candidate.isPortrait = BallotCandidateJSON.LANDSCAPE; } result = SKImageToXamarinImage(SKImage.FromBitmap((SKBitmap)rotatedBmp)); } return(result); }