如果您在下面没有找到需要的问题,请加入Stack Overflow社区参与讨论。
Scan SDK能实现一维码、二维码和自定义码类型的解析,目前支持EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF14、QR、DataMatrix、PDF417、Aztec、多功能码格式条码的解析。
使用Customized View模式时,图像会自动放大是算法自动控制的,无法手动关闭。如果不想使用该功能,建议您集成Bitmap Mode的相机扫码。具体操作步骤请参见相机扫码场景。
返回Rect是因为您传入Scan Kit的原始图片,而不是相机的原始预览流。可参考示例代码:
public void drawGraphic(Canvas canvas) {
if (hmsScan == null) {
return;
}
RectF rect = new RectF(hmsScan.getBorderRect());
RectF other = new RectF();
other.left = canvas.getWidth()-scaleX(rect.top);
other.top = scaleY(rect.left);
other.right = canvas.getWidth()-scaleX(rect.bottom);
other.bottom = scaleY(rect.right);
canvas.drawRect(other, rectPaint);
canvas.drawText(hmsScan.getOriginalValue(), other.right, other.bottom, hmsScanResult);
}
public float scaleX(float horizontal) {
return horizontal * scanResultView.widthScaleFactor;
}
public float scaleY(float vertical) {
return vertical * scanResultView.heightScaleFactor;
} Default View Mode和Bitmap Mode两种模式的图片解析能力没有差异。
您在进行图片扫码时,我们建议使用Bitmap模式,对应的实现方式请参见:图片扫码场景。扫描二维码时,请将二维码的定位符两个位于上方,一个位于下方进行摆放。
另外针对扫码效果,可以采取如下措施:
Scan SDK能实现多种一维码和二维码类型的解析,目前支持EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF14、QR、DataMatrix、PDF417、Aztec格式条码的解析。
SDK直接运行无问题,但发布时报错“Unsupported Architecture. Your executable contains unsupported architecture '[x86_64]...”。
为了方便您调试,ScanKitFrameWork.framework合并了模拟器和真机架构,上线前,使用lipo工具移除相关架构即可,参考:
cd ScanKitFrameWork.framework # 使用lipo -info 可以查看包含的架构 lipo -info ScanKitFrameWork # Architectures in the fat file: ScanKitFrameWork are: x86_64 arm64 # 移除x86_64 lipo -remove x86_64 ScanKitFrameWork -o ScanKitFrameWork # 再次查看 lipo -info ScanKitFrameWork # Architectures in the fat file: ScanKitFrameWork are: arm64