如何自定义二维码的外观

时间:2018-10-03 04:57:46

标签: java android ios nativescript

我已经构建了QR代码创建者,但是现在我需要知道如何自定义代码的外观。

第一个图像是当前输出方式的示例。第二个是我想要实现的。

这两个代码完全相同。只是外观不同。

请不要无所适从。任何方向都会有所帮助。


生成器代码

目前,我只为iOS编写。但这也适用于android,这就是为什么我包含android标签的原因。

注意,我正在使用 NativeScript ,因此对于 iOS 开发人员来说,这可能有些奇怪,但这是我们访问本机< em> iOS 方法等...

const message = NSString.stringWithString("My Message");
const data = message.dataUsingEncoding(NSUTF8StringEncoding);
const data_filter = CIFilter.filterWithNameWithInputParameters(
    "CIQRCodeGenerator",
    { inputMessage: data, inputCorrectionLevel: "M" }
);
const code = data_filter.outputImage;
const size = CGRectIntegral(code.extent);
const output_size = CGSizeMake(150, 150);
const matrix = CGAffineTransformMakeScale(
    output_size.width / CGRectGetWidth(size),
    output_size.height / CGRectGetHeight(size)
);
const transformed = code.imageByApplyingTransform(matrix);
const image = UIImage.imageWithCIImage(transformed);

这就是我得到的

A QR Code with the default square dot modules.


这就是我想要的

A QR Code with smaller circle dot modules


0 个答案:

没有答案