C#学习教程:在c#中使用imagemagick.net在图像上应用水印现在,我需要使用Magick.NET在此图像上应用水印。varresponse=client.GetObject(request).ResponseStream;MagickImage图像=新MagickImage(响应);MagickGeometrysize=newMagickGeometry(imgWidth,imgHeight);size.IgnoreAspectRatio=maintainAspectRatio;image.Resize(尺寸);位图watermarkObj=(Bitmap)Bitmap.FromFile("G:/Images/watermark.png");图形imageGraphics=Graphics.FromImage(image.ToBitmap());Pointpoint=newPoint(image.Width-118,image.Height-29);imageGraphics.DrawImage(watermarkObj,point);image.write("G:/Images/ProcessedImage.JPG");工作守则:MagickGeometrysize=newMagickGeometry(imgWidth,imgHeight);size.IgnoreAspectRatio=maintainAspectRatio;image.Resize(尺寸);位图watermarkObj=(Bitmap)Bitmap.FromFile("G:/Images/watermark.png");位图objImg=newBitmap("G:/Images/OriginalImage.jpg");图形imageGraphics=Graphics.FromImage(objImg);Pointpoint=newPoint(image.Width-118,image.Height-29);imageGraphics.DrawImage(watermarkObj,point);objImg.save("G:/Images/ProcessedImage.JPG");那么,任何人都可以帮助我如何使用imagemagick做到这一点吗?原因是当我在图形中传递imageObject时它不应用水印,因为当我传递.net图像对象时它应用水印您的代码不起作用,因为image.ToBitmap()创建了一个新的Bitmap。当你调用image.write("G:/Images/ProcessedImage.JPG");您正在保存图像实例的未修改版本。您应该执行以下操作。使用(MagickImageimage=newMagickImage(response)){MagickGeometrysize=newMagickGeometry(imgWidth,imgHeight);size.IgnoreAspectRatiomaintainAspectRatio;image.Resize(尺寸);使用(位图watermarkObj=位图)Bitmap.FromFile(“G:/Images/watermark.png”)){使用(位图imageObj=image.ToBitmap()){使用(图形imageGraphics=Graphics.FromImage(imageObj)){点point=newPoint(image.Width-118,image.Height-29);imageGraphics.DrawImage(watermarkObj,point);imageObj.Save("G:/Images/ProcessedImage.JPG");}}}}另请注意,我添加了using语句。您应该在使用IDisposable类时使用它。您也可以在不使用System.Drawing的情况下执行此操作。我在Magick.NET的文档中为此创建了一个新示例:https://magick.codeplex.com/wikipage?title=Watermark&referringTitle=Document你可以在你的案例中使用下面的代码:以上是C#学习教程:在c#中使用imagemagick.net在图像上应用水印分享全部内容,如果有用大家和需要了解更多C#学习教程,希望大家多多关注——size.IgnoreAspectRatiomaintainAspectRatio;image.Resize(尺寸);使用(MagickImagewatermark=newMagickImage("G:/Images/watermark.png")){image.Composite(watermark,image.Width-118,image.Height-29,CompositeOperator.Over);image.Write("G:/Images/ProcessedImage.JPG");}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
