public static void ExecuteMethod_CreateImageMediaFormats(string masterRelativeLocation, Bitmap bitmapData)
 {
     if (bitmapData == null)
         return;
     Size[] jpgSizes = new[]
         {
             // Wide screen format
             new Size(1280, 720),
             new Size(640, 360),
             // .. portrait alternatives, but not the biggest ones
             new Size(360, 640),
             // Standard screen format
             new Size(1024, 768),
             new Size(800, 600),
             new Size(640, 480),
             new Size(320, 240),
             new Size(160, 120),
             // .. portrait alternatives, but not the biggest ones
             new Size(480, 640),
             new Size(240, 320),
             new Size(120, 160),
             // Square icon format
             new Size(256, 256),
             new Size(128, 128),
             new Size(64, 64),
             new Size(32, 32),
         };
     // Photos become still quite large on png => transparency issues need to be dealt with differently
     Size[] pngSizes = new Size[]
         {
         };
     var sizesWithFormat = jpgSizes.Select(size => new {Format = ImageFormat.Jpeg, Size = size}).
                                   Union(pngSizes.Select(size => new {Format = ImageFormat.Png, Size = size}));
     foreach(var sizeWithFormat in sizesWithFormat)
     {
         var size = sizeWithFormat.Size;
         var format = sizeWithFormat.Format;
         string sizedFittingAllInLocation = GetSizedLocation(masterRelativeLocation, size, fittingAllIn: true, format:format);
         Bitmap fittingBitmap = ResizeImage(bitmapData, size, true, false, false);
         StoreToBlob(sizedFittingAllInLocation, fittingBitmap, format);
         string sizedCroppingLocation = GetSizedLocation(masterRelativeLocation, size, fittingAllIn: false, format: format);
         Bitmap croppedBitmap = ResizeImage(bitmapData, size, true, false, true);
         StoreToBlob(sizedCroppingLocation, croppedBitmap, format);
     }
 }