在 iOS 8 中扫描条码并显示条码

Posted

技术标签:

【中文标题】在 iOS 8 中扫描条码并显示条码【英文标题】:Scanning barcode in iOS 8 and displaying barcode 【发布时间】:2015-03-16 12:16:33 【问题描述】:

我一直在寻找扫描一维条码的解决方案,并得出以下答案:QR Code Scanning in ios application

我正在为 iOS 8 开发,上述问题的第二个答案解决了我们不再需要使用第三方库的事实。这似乎相对简单。

有一些应用程序可以扫描条形码,然后您可以在设备上查看条形码。我假设他们正在从扫描的条形码创建 UIImage。但是我不确定如何在我的应用程序中实现相同的功能。

有谁知道处理此类行为的任何代码示例或库?

【问题讨论】:

我想你问的是如何从整体图像中提取条形码以显示给用户。如果是这样,这里有一个问题可以回答:***.com/questions/22397904/… 还有一个很好的关于如何捕获条形码的教程,如果这就是你要问的,这里:infragistics.com/community/blogs/torrey-betts/archive/2013/10/… 是的,我想从条形码创建图像。然后就可以从屏幕上扫描条码的图像了。 【参考方案1】:

条码有两个组成部分:1) 条码本身的图像和 2) 可以从条码中提取的数据。 iOS 7+ 支持在图像中查找条形码,也支持从该图像中提取数据,而无需外部库。有许多与条形码识别相关的强大教程和答案,但您可能正在寻找这个: http://www.infragistics.com/community/blogs/torrey-betts/archive/2013/10/10/scanning-barcodes-with-ios-7-objective-c.aspx

我可以想到两种方法来实现您的愿望,捕获条形码然后将其显示在屏幕上:1)裁剪检测到条形码的较大图像,以便只留下条形码,然后显示它,或者 2 ) 一旦检测到条码,就创建一个新的条码。第一种方法的优点是您可以裁剪得稍微大一些,这样条形码就会清楚地看起来像原始条形码,但会留下任何瑕疵(污点、阴影等)。第二种方法的优点是您将拥有一个清晰的条形码,但用户体验可能看起来有点脱节(或者它可能看起来像魔术:您将“清理”一个弄脏的条形码)。选择一种取决于您希望的用户体验类型。

如果您选择裁剪图像,告诉 iOS 检测条形码,按照上面的教程,当检测到条形码时,使用条形码对象的边界来裁剪底层的整体图像,即 UIImage 对象。如果您选择使用从原始条码中提取的数据创建条码,那么您似乎需要一个库。这里有一个问题可以解决: Barcode Generation from within iOS App

【讨论】:

感谢迈克尔的回答。很有帮助。我使用第一个链接来帮助创建我的扫描仪。我最近还发现了以下创建条形码:github.com/yeahdongcn/RSBarcodes_Swift【参考方案2】:

试试这个对我扫描二维码有用的教程

http://www.appcoda.com/qr-code-ios-programming-tutorial/

【讨论】:

【参考方案3】:

对于那些使用 swift 创建条形码扫描仪的人,这里有一个非常好的教程:

http://shrikar.com/blog/2015/01/24/implementing-barcode-scanning-in-ios8-with-swift/

【讨论】:

以上是关于在 iOS 8 中扫描条码并显示条码的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上的 PhoneGap 条码扫描仪无响应

在 Swift 中从 WebView 打开条码扫描器

如何在 ios 中实现条码扫描器功能?

iOS 为条码扫描器添加哔哔声

iOS 条码扫描器

iOS PhoneGap 1.7.0 + 条码扫描插件问题