gpt4 book ai didi

c# - 图像水印上的 Xamarin.iOS 图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:40 25 4
gpt4 key购买 nike

如何使用 Xamarin.iOS c# 将 png 图像作为水印添加到更大的图像并将输出保存到设备?

我从发布的另一个问题 here 中找出了 Xamarin.Android 版本.

提前致谢!!

最佳答案

使用图像上下文,您可以绘制原始图像,然后在必要位置绘制水印,并从上下文中获取新图像。

ImageContext 示例:

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

如果您的原始图像和水印图像大小相同,您可以使用 CIFilter (CISourceOverCompositing) 将一个图像“叠加”在另一个图像之上(假设您的水印具有白色或 alpha 背景。由于速度快,这是我的首选方法。

CISourceOverCompositing 示例:

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

关于c# - 图像水印上的 Xamarin.iOS 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48513275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com