Ios 如何以特定形状绘制图像
每次新的网络通话,我都会从设计师那里得到一个普通的图像。但设计是图像必须是这样的形状:Ios 如何以特定形状绘制图像,ios,objective-c,uiimage,Ios,Objective C,Uiimage,每次新的网络通话,我都会从设计师那里得到一个普通的图像。但设计是图像必须是这样的形状: 我该怎么做?在android上,我使用路径创建这样的形状,然后使用着色器以该形状绘制图像。我在iOS上找不到这样的东西?多亏了克里沃布斯基。您可以使用以下代码屏蔽图像: - (UIImage*) _maskImage:(UIImage *) image withMask:(UIImage *) mask { CGImageRef imageReference = image.CGImage;
我该怎么做?在android上,我使用路径创建这样的形状,然后使用着色器以该形状绘制图像。我在iOS上找不到这样的东西?多亏了克里沃布斯基。您可以使用以下代码屏蔽图像:
- (UIImage*) _maskImage:(UIImage *) image withMask:(UIImage *) mask
{
CGImageRef imageReference = image.CGImage;
CGImageRef maskReference = mask.CGImage;
CGImageRef imageMask = CGImageMaskCreate(CGImageGetWidth(maskReference),
CGImageGetHeight(maskReference),
CGImageGetBitsPerComponent(maskReference),
CGImageGetBitsPerPixel(maskReference),
CGImageGetBytesPerRow(maskReference),
CGImageGetDataProvider(maskReference),
NULL,
YES
);
CGImageRef maskedReference = CGImageCreateWithMask(imageReference, imageMask);
CGImageRelease(imageMask);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedReference];
CGImageRelease(maskedReference);
return maskedImage;
}
你只需要确保你的图像是黑色的,而不是一种黑色,因为它将被用作透明度
这是一个非常好的教程,向您展示了遮罩图像:
只需将遮罩应用于您的UIImage。这是参考资料。你的问题是什么?你怎么做什么?如何画一个形状?如果你想画一个这样的形状,只需要使用UIBezierPath。不,我想画这个形状,然后在这个形状中必须画一个UIImage。所以UIImage就是这个形状,我现在正在读。我会让你知道的。