Ejemplo n.º 1
0
        /// <summary>
        /// Open Instagram with the specified image and caption.
        /// </summary>
        /// <returns><c>true</c> if Instagram is installed, <c>false</c> otherwise.</returns>
        /// <param name="image">Image.</param>
        /// <param name="caption">Caption.</param>
        public static bool Instagram(UIImage image, string caption = null)
        {
            if (!UIApplication.SharedApplication().CanOpenURL(new NSURL("instagram://app")))
            {
                return(false);
            }

            // write image to tmp folder
            NSData data     = image.JPEGRepresentation(1f);
            string filePath = Application.temporaryCachePath + "/" + UUID.Generate() + ".igo";

            data.WriteToFile(filePath, true);

            _documentIC     = UIDocumentInteractionController.InteractionController(new NSURL(filePath, false));
            _documentIC.UTI = "com.instagram.exclusivegram";
            if (caption != null)
            {
                var annotation = new Dictionary <object, object>();
                annotation["InstagramCaption"] = caption;
                _documentIC.annotation         = annotation;
            }

            var rootView = UIApplication.deviceRootViewController.view;

            _documentIC.PresentOpenInMenu(new Rect(0, 0, 1, 1), rootView, true);
            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Open Instagram with the specified image and caption.
        /// </summary>
        /// <returns><c>true</c> if Instagram is installed, <c>false</c> otherwise.</returns>
        /// <param name="image">Image.</param>
        /// <param name="caption">Caption.</param>
        public static bool Instagram(UIImage image, string caption = null)
        {
            if (!UIApplication.SharedApplication().CanOpenURL(new NSURL("instagram://app")))
                return false;

            // write image to tmp folder
            NSData data = image.JPEGRepresentation(1f);
            string filePath = Application.temporaryCachePath + "/" + UUID.Generate() + ".igo";
            data.WriteToFile(filePath, true);

            _documentIC = UIDocumentInteractionController.InteractionController(new NSURL(filePath, false));
            _documentIC.UTI = "com.instagram.exclusivegram";
            if (caption != null) {
                var annotation = new Dictionary<object, object>();
                annotation["InstagramCaption"] = caption;
                _documentIC.annotation = annotation;
            }

            var rootView = UIApplication.deviceRootViewController.view;
            _documentIC.PresentOpenInMenu(new Rect(0, 0, 1, 1), rootView, true);
            return true;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Exports an UIImage in JPEG format to Photos album.
        /// Raises ExportCompleted or ExportFailed events on completion.
        /// </summary>
        /// <param name="image">Image.</param>
        /// <param name="quality">Quality of the resulting JPEG from 0.0 to 1.0.</param>
        public static void ExportJPEG(UIImage image, float quality)
        {
            NSData data = image.JPEGRepresentation(quality);

            assetsLibrary.WriteImageDataToSavedPhotosAlbum(data, new Dictionary <object, object>(), _OnWriteCompletion);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Exports an UIImage in JPEG format to Photos album.
 /// Raises ExportCompleted or ExportFailed events on completion.
 /// </summary>
 /// <param name="image">Image.</param>
 /// <param name="quality">Quality of the resulting JPEG from 0.0 to 1.0.</param>
 public static void ExportJPEG(UIImage image, float quality)
 {
     NSData data = image.JPEGRepresentation(quality);
     assetsLibrary.WriteImageDataToSavedPhotosAlbum(data, new Dictionary<object, object>(), _OnWriteCompletion);
 }