C# 基于图像水印的Xamarin.iOS图像
如何使用Xamarin.iOS c#将png图像作为水印添加到较大的图像中,并将输出保存到设备 我从发布的另一个问题中找到了Xamarin.Android版本C# 基于图像水印的Xamarin.iOS图像,c#,xamarin,xamarin.ios,C#,Xamarin,Xamarin.ios,如何使用Xamarin.iOS c#将png图像作为水印添加到较大的图像中,并将输出保存到设备 我从发布的另一个问题中找到了Xamarin.Android版本 提前谢谢 使用图像上下文,您可以绘制原始图像,然后在必要的位置绘制水印,并从上下文中获取新图像 ImageContext示例: 如果原始图像和水印图像大小相同,可以使用CIFilter(CISourceOverCompositing)将一个图像“覆盖”在另一个图像上(假设水印具有白色或alpha背景。由于速度快,这是我首选的方法 CISo
提前谢谢 使用图像上下文,您可以绘制原始图像,然后在必要的位置绘制水印,并从上下文中获取新图像 ImageContext示例: 如果原始图像和水印图像大小相同,可以使用
CIFilter
(CISourceOverCompositing
)将一个图像“覆盖”在另一个图像上(假设水印具有白色或alpha背景。由于速度快,这是我首选的方法
CISourceOverCompositing示例:
var originalImage = UIImage.FromBundle("buymore.jpg");
var watermarkImage = UIImage.FromFile("vs.png");
UIGraphics.BeginImageContextWithOptions(originalImage.Size, true, 1.0f);
originalImage.Draw(CGPoint.Empty);
watermarkImage.Draw(new CGRect(new CGPoint(200, 200), watermarkImage.Size));
var processedImage = UIGraphics.GetImageFromCurrentImageContext();
UIImage processedimage;
using (var filter = new CISourceOverCompositing())
{
filter.Image = new CIImage(UIImage.FromBundle("vs.png"));
filter.BackgroundImage = new CIImage(UIImage.FromBundle("buymore.jpg"));
processedimage = UIImage.FromImage(filter.OutputImage);
}