namespace Solster.Azure.WebJob.Compression { using Microsoft.Azure.WebJobs; using System.IO; using System.Drawing.Imaging; using System.Linq; using System.Drawing; class Program { static void Main(string[] args) { var host = new JobHost(); host.RunAndBlock(); } public static void ProcessQueueMessage([BlobTrigger("pictures/{name}")] Stream stream) { var codec = ImageCodecInfo.GetImageEncoders().Where(x => x.MimeType.Equals("image/jpeg")).First(); var encoderParams = new EncoderParameters(1) { Param = new[] { new EncoderParameter(Encoder.Quality, 50) } }; using (var image = Image.FromStream(stream)) { stream.Position = 0; image.Save(stream, codec, encoderParams); } } } }