2

I'm using this solution to apply water-mark to image, here is my code:

for (int i = 0; i < Request.Files.Count; i++)
{                        
    Image imgg = Image.FromFile(Server.MapPath(@"\Images\WaterMark.png"));

    HttpPostedFileBase file = Request.Files[i];

    using (Image image = Image.FromStream(file.InputStream, true, true)) //Parameter is not valid exception on uploading .webp file
    using (Image watermarkImage = imgg)
    {
         using (Graphics imageGraphics = Graphics.FromImage(image))
         using (TextureBrush watermarkBrush = new TextureBrush(watermarkImage))
         {
              int x = 4;
              int y = image.Height - watermarkImage.Height - 30;
              watermarkBrush.TranslateTransform(x, y);
              imageGraphics.FillRectangle(watermarkBrush,
              new Rectangle(new Point(x, y), new Size(watermarkImage.Width + 1, watermarkImage.Height)));

              string extension = System.IO.Path.GetExtension(file.FileName);
              filename = "temp" + DateTime.UtcNow.Ticks + extension;
              filename = Server.MapPath(@"~\Images\Ads\" + filename);
              var i2 = new Bitmap(image);
              //  image.Save(Server.MapPath(@"~\Images\Ads\" + filename));
              System.IO.Directory.CreateDirectory(Server.MapPath(@"~\Images\Ads\"));

              i2.Save(filename);                                
         }
    }
}

This works fine for all images except .webp. When I upload .webp image i get following exception on Image.FromStream

Parameter is not valid

How can i apply watermark on .webp image?

MaxW
  • 421
  • 1
  • 7
  • 22
Irfan Y
  • 1,242
  • 2
  • 21
  • 68

0 Answers0