如何在iOS中生成QR码

生成QR码可能是一个小问题,但知道如何在手机上生成QR码而不是仅使用手机的摄像头扫描QR码就很好了,并且生成它们非常容易。 让我们看一个简单的示例,在该示例中,我们基于字符串创建QR代码,此外,我们还将通过向其添加一些颜色来对其进行一些自定义。

首先,让我们创建UIView的子类,以便我们能够轻松地将QR代码放置在应用程序中所需的位置。

因此,这是我们为实现此结果所做的工作。 为了纠正图像模糊的问题,我们应用了一个变换滤镜,并将缩放比例提高了十倍。 您可能想修改一下它而不牺牲任何性能,使用10的比例随机说明该方法的工作原理。

要设置所需的颜色值,我们需要反转颜色,然后对图像进行遮罩,以使背景变得透明。

对于反转,我们使用另一个名为CIColorInvert的CIFilter 。 这只是反转了由CIQRCodeGenerator生成的黑色和白色的颜色。 该过滤器的输入是转换后的图像,我们使用键kCIInputImageKey ,在进行遮罩时也会看到该键被使用。

现在我们有了一个反转的图像,是时候应用遮罩了。 对于屏蔽,我们使用名为CIMaskToAlpha的过滤器。 就像反转过滤器一样,它也使用相同的键kCIInputImageKey将图像作为输入。

现在,我们完成了一个过滤器。 现在是时候将这些碎片放到位了。
首先,我们为图像视图设置色调颜色,这将是实际代码的颜色。 我们继续为实际的图像视图设置背景色; 当我们对图像应用Alpha滤镜时,这将作为代码的背景色。

最后一点,是时候将生成的图像设置为图像视图了。 因为我们正在使用Core Image框架,所以我们还没有UIImage。 对我们来说幸运的是,UIImage作为接受CIImage的初始化程序。 锦上添花的是,当您将UIImage设置为UIImageView时,可以通过添加.withRenderingMode(.alwaysTemplate) 。 最后一步很重要,因为它将使图像采用图像视图的色调。

就在那里 现在,您可以生成自己的QR码并通过在其上划线颜色方案来对其进行个性化设置。