示例#1
0
        private async Task <Tuple <string, Uri> > GetBestImage(IEnumerable <Uri> images)
        {
            if (images == null)
            {
                return(null);
            }

            Bitmap image = null;

            Uri selected = null;

            foreach (var img in images)
            {
                try
                {
                    using (var resp = await img.GetWebRequest(15000, 15000).GetResponseAsync())
                    {
                        image    = new Bitmap(resp.GetResponseStream());
                        selected = img;
                        break;
                    }
                }
                catch (Exception ex) { }
            }

            if (image == null)
            {
                return(null);
            }

            float scaleFactor = 0;
            int   width       = 0;
            int   height      = 0;

            if (image != null)
            {
                scaleFactor = (image.Width > 200) ? ((float)200 / (float)image.Width) : 1;
                width       = (int)(image.Width * scaleFactor);
                height      = (int)(image.Height * scaleFactor);
            }

            return(new Tuple <string, Uri>(ImageManipulation.EncodeImage(image, width, height), selected));
        }
示例#2
0
 private static string GetImageData(string imgSrc)
 {
     if (!string.IsNullOrEmpty(imgSrc))
     {
         try
         {
             var request = HttpWebRequest.Create(imgSrc);
             request.Timeout = 5000;
             using (var response = request.GetResponse())
             {
                 var img = (Bitmap)Bitmap.FromStream(response.GetResponseStream());
                 return("data:image/jpg;base64," + ImageManipulation.EncodeImage(img));
             }
         }
         catch { return(null); }
     }
     else
     {
         return(null);
     }
 }
示例#3
0
 private void EncodeImage(Bitmap bmp)
 {
     ImageBase64Encoded = ImageManipulation.EncodeImage(bmp, 16, 16);
 }