如何在swift中使用遮罩图像?
How to use mask image in swift?
我想用蒙版图片来蒙版 UIImageView,像这样:
let mask = UIImageView(image: MASKIMAGE)
profileImageView.mask = mask
但是遮罩图像中的黑色部分必须透明。
怎么做?
谢谢!
您的 MASKIMAGE
图像是否使用透明像素的 PNG 图像?不要将 JPEG 用于蒙版。您期望透明的黑色区域实际上应该包含 alpha 通道值 0。
R = Some value (122)
G = Some value (23)
B = Some value (33)
A = 0 for fully transparent area
如果图像包含 alpha 值 1
,则您需要编辑图像并将其 re-add 添加到您的资产中,以便只有您需要的信息(遮罩形状)具有 1
和其他一切 0
。您可以在 photoshop 或任何其他图像编辑软件中完成。
求解!
现在我可以将 non-white 颜色设为透明。
let components: [CGFloat] = [0,254,0,254,0,254]
let alphaImage = UIImage(cgImage: (MASKIMAGE.cgImage?.copy(maskingColorComponents: components))!)
let mask = UIImageView(image: alphaImage)
profileImageView.mask = mask
我想用蒙版图片来蒙版 UIImageView,像这样:
let mask = UIImageView(image: MASKIMAGE)
profileImageView.mask = mask
但是遮罩图像中的黑色部分必须透明。
怎么做?
谢谢!
您的 MASKIMAGE
图像是否使用透明像素的 PNG 图像?不要将 JPEG 用于蒙版。您期望透明的黑色区域实际上应该包含 alpha 通道值 0。
R = Some value (122)
G = Some value (23)
B = Some value (33)
A = 0 for fully transparent area
如果图像包含 alpha 值 1
,则您需要编辑图像并将其 re-add 添加到您的资产中,以便只有您需要的信息(遮罩形状)具有 1
和其他一切 0
。您可以在 photoshop 或任何其他图像编辑软件中完成。
求解!
现在我可以将 non-white 颜色设为透明。
let components: [CGFloat] = [0,254,0,254,0,254]
let alphaImage = UIImage(cgImage: (MASKIMAGE.cgImage?.copy(maskingColorComponents: components))!)
let mask = UIImageView(image: alphaImage)
profileImageView.mask = mask