Exemple #1
0
 /// <summary>
 /// Downloads an image from Imgur
 /// </summary>
 /// <param name="I">Imgur image</param>
 /// <param name="Size">Image size</param>
 /// <param name="AllowVideo">Allow video files</param>
 /// <returns>Image data</returns>
 /// <remarks>If <paramref name="AllowVideo"/> is <see cref="false"/>, it will use <see cref="ImgurImageSize.HugeThumbnail"/> for video files</remarks>
 public static byte[] GetImage(ImgurImage I, ImgurImageSize Size, bool AllowVideo)
 {
     using (WebClient WC = new WebClient())
     {
         if (AllowVideo || !I.type.ToLower().StartsWith("video/"))
         {
             return(WC.DownloadData(I.GetImageUrl(Size)));
         }
         return(WC.DownloadData(I.GetImageUrl(Size == ImgurImageSize.Original ? ImgurImageSize.HugeThumbnail : Size)));
     }
 }
Exemple #2
0
        //unknown data types
        //public ? vote { get; set; }
        //public ? nsfw { get; set; }
        //public ? section { get; set; }

        /// <summary>
        /// Gets the full image URL according to the given size parameter
        /// </summary>
        /// <param name="Size">Size parameter</param>
        /// <returns>Image url</returns>
        public Uri GetImageUrl(ImgurImageSize Size = ImgurImageSize.Original)
        {
            string s;
            string ext = link.Split('.').Last();

            switch (Size)
            {
            case ImgurImageSize.Original:
                s = "";
                break;

            case ImgurImageSize.BigSquare:
                s = "b";
                break;

            case ImgurImageSize.HugeThumbnail:
                s = "h";
                break;

            case ImgurImageSize.LargeThumbnail:
                s = "l";
                break;

            case ImgurImageSize.MediumThumbnail:
                s = "m";
                break;

            case ImgurImageSize.SmallSquare:
                s = "s";
                break;

            case ImgurImageSize.SmallThumbnail:
                s = "t";
                break;

            default:
                throw new ArgumentException("Size is not a valid enumeration value");
            }

            return(new Uri($"https://i.imgur.com/{id}{s}.{ext}"));
        }