/// <summary> /// Converts a UIImage to a byte array /// </summary> public static byte[] ToByteArray(this UIImage image) { if (image == null) return null; using (image) { using (var data = image.AsJPEG()) { var bytes = new byte[data.Length]; Marshal.Copy(data.Bytes, bytes, 0, (int)data.Length); return bytes; } } }
/// <summary> /// Gets the NSData representation of <c>UIImage</c> instance /// </summary> /// <returns>If conversation was successful returns the NSData representation of <c>UIImage</c> instance, otherwise returns <c>null</c></returns> /// <param name="image"><c>UIImage</c> instance.</param> /// <param name="imageType">Image type. Default is <c>ImageType.Jpeg</c></param> public static NSData GetImageData(this UIImage image, ImageType imageType = ImageType.Jpeg) { try { switch (imageType) { case ImageType.Png: return image.AsPNG (); case ImageType.Jpeg: default: return image.AsJPEG(); } } catch (Exception ex) { Console.WriteLine (ex); return null; } }