| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- using System;
 
- using System.Drawing;
 
- using System.IO;
 
- using Android.Graphics;
 
- using Bitmap = Android.Graphics.Bitmap;
 
- [assembly: Xamarin.Forms.Dependency(typeof(InABox.Mobile.Android.ImageToolsDroid))]
 
- namespace InABox.Mobile.Android
 
- {
 
-     public class ImageToolsDroid: IImageTools
 
-     {
 
-         public byte[] CreateThumbnail(byte[] source, float maxwidth, float maxheight)
 
-         {
 
-             byte[] result = { };
 
-             using (var image = BitmapFactory.DecodeByteArray(source, 0, source.Length))
 
-             {  
 
-                 if (image != null)
 
-                 {
 
-                     var size = new Size((int)image.GetBitmapInfo().Height, (int)image.GetBitmapInfo().Width);
 
-                     if ((size.Width > 0) && (size.Height > 0))
 
-                     {
 
-                         var maxFactor = Math.Min(maxwidth / size.Width, maxheight / size.Height);
 
-                         var width = maxFactor * size.Width;
 
-                         var height = maxFactor * size.Height;
 
-                         using (var tgt = Bitmap.CreateScaledBitmap(image, (int)height, (int)width, true))
 
-                         {
 
-                             if (tgt != null)
 
-                             {
 
-                                 using (var ms = new MemoryStream())
 
-                                 {
 
-                                     tgt.Compress(Bitmap.CompressFormat.Jpeg, 95, ms);
 
-                                     result = ms.ToArray();
 
-                                 }
 
-                                 tgt.Recycle();
 
-                             }
 
-                         }
 
-                     }
 
-                     image.Recycle();
 
-                 }
 
-             }
 
-             return result;
 
-         }
 
-     }
 
- }
 
 
  |