在webp图像上应用水印

时间:2019-05-29 09:43:33

标签: c# file-upload webp

我正在使用this解决方案在图像上应用水印,这是我的代码:

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);                                
         }
    }
}

这对除.webp以外的所有图像都适用。当我上传.webp图片时,在Image.FromStream

上出现以下异常
  

参数无效

如何在.webp图片上应用水印?

0 个答案:

没有答案