我正在尝试在我的应用程序中创建一个功能,允许用户提取现有图像的指定区域,并将其保存为启用 alpha 的 png。
当您在透明UIView
的. 对于绘图,我使用. 用户可以在对象周围绘制,内部将暂时用黑色填充。UIImageView
imageView
view
UIBezierPath
用户从相册中选取图像,并显示在底层UIImageView
,如左图所示,当用户绘制了一个形状(自动关闭)时,在上层UIView
,它看起来像右图:
这按预期工作,但是当用户单击“裁剪”时,魔法应该开始了。到目前为止,我只能创建一个“蒙版”并将其保存为卷上的图像,如此处所示(不管纵横比,我稍后会修复它):
这只是一个普通图像,由路径/形状创建,具有颜色(白底黑,透明底黑)。我需要的是某种方法来使用这个“图像”作为原始图像的 alpha 通道。
我知道这是两个完全独立的东西,alpha 通道与图像不同,但我有形状,所以我想知道是否有任何可能的方法来“裁剪”或“输出 alpha”用我的数据。我想要最终得到的是这只猫脸的 png,周围环境 100% 透明(或者甚至不透明),这样我就可以更改背景,如下所示:
重要的是要注意,我不是在谈论UIImage
在UIImageView
应用蒙版中显示一个通道,从而像上面一样保存一张具有透明度的图像。
我对处理图像数据不太熟悉,所以我想知道是否有人知道如何基于两张图像创建一个新图像,一张充当另一个图像的 alpha,而这两个图像都不一定有 alpha 通道首先。