private async Task <UploadedImage> CreateUploadedImageAsync(string fileName, IFormFile formFile) { UploadedImage uploadedImage = new UploadedImage(fileName); using (var memoryStream = new MemoryStream()) { await formFile.CopyToAsync(memoryStream); uploadedImage.Data = memoryStream.ToArray(); uploadedImage.Image = System.Drawing.Image.FromStream(memoryStream); } return(uploadedImage); }
private byte[] ScaleImage(UploadedImage uploadedImage, double maxWidth) { if (uploadedImage.Image.Width > maxWidth) { double scaleFactor = uploadedImage.Image.Width / maxWidth; double scaledHeight = uploadedImage.Image.Height / scaleFactor; var bitmap = _imageResizer.ResizeImage(uploadedImage.Image, (int)maxWidth, (int)scaledHeight); byte[] scaledFile; using (var memoryStream = new MemoryStream()) { bitmap.Save(memoryStream, ImageFormat.Png); scaledFile = memoryStream.ToArray(); } return(scaledFile); } else { return(uploadedImage.Data); } }