-
public class DecodeConfig解码配置:主要用于在扫码识别时,提供一些配置,便于扩展。通过配置可决定内置分析器的能力,从而间接的控制并简化扫码识别的流程
<p> 设置解码 [setHints]内置的一些解码可参见如下: <p> [DecodeFormatManager.DEFAULT_HINTS] [DecodeFormatManager.ALL_HINTS] [DecodeFormatManager.CODE_128_HINTS] [DecodeFormatManager.QR_CODE_HINTS] [DecodeFormatManager.ONE_DIMENSIONAL_HINTS] [DecodeFormatManager.TWO_DIMENSIONAL_HINTS] [DecodeFormatManager.DEFAULT_HINTS] <p><p>如果不满足您也可以通过DecodeFormatManager.createDecodeHints自己配置支持的格式
<p> 识别区域可设置的方式有如下几种: [setFullAreaScan] 设置是否支持全区域扫码识别,优先级比识别区域高 [setAnalyzeAreaRect] 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效 [setAreaRectRatio] 设置识别区域比例,默认[DEFAULT_AREA_RECT_RATIO],设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低 <p> 以上几种识别区域都是基于[androidx.camera.core.ImageAnalysis] 配置的分析目标分辨率作为参照的;请注意区分 [androidx.camera.core.Preview] 与 [androidx.camera.core.ImageAnalysis]配置的区别。 <p> 即判定区域分析的优先级顺序为:[setFullAreaScan] -> [setAnalyzeAreaRect] -> [setAreaRectRatio]
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classDecodeConfig.Companion
-
Constructor Summary
Constructors Constructor Description DecodeConfig()
-
Method Summary
Modifier and Type Method Description final Map<DecodeHintType, Object>getHints()获取配置的解码支持类型 DecodeHintType。 final DecodeConfigsetHints(Map<DecodeHintType, Object> hints)设置解码 Hint。内置的一些解码配置可参见: DecodeFormatManager.DEFAULT_HINTSDecodeFormatManager.CODE_128_HINTSDecodeFormatManager.ONE_DIMENSIONAL_HINTS如果不满足需求,也可以通过 DecodeFormatManager.createDecodeHints 自行配置支持的格式。 final BooleanisSupportLuminanceInvert()是否支持识别反色码(黑白颜色反转)。 final DecodeConfigsetSupportLuminanceInvert(Boolean supportLuminanceInvert)设置是否支持识别反色码(黑白颜色反转)。 final BooleanisSupportVerticalCode()是否支持扫垂直的条码。 final DecodeConfigsetSupportVerticalCode(Boolean supportVerticalCode)设置是否支持扫垂直的条码。 final BooleanisMultiDecode()是否支持使用多解码。 final DecodeConfigsetMultiDecode(Boolean multiDecode)设置是否支持使用多解码。 final BooleanisSupportLuminanceInvertMultiDecode()是否支持识别反色码(条码黑白颜色反转的码)并使用多解码。 final DecodeConfigsetSupportLuminanceInvertMultiDecode(Boolean supportLuminanceInvertMultiDecode)设置是否支持识别反色码(条码黑白颜色反转的码)并使用多解码。 final BooleanisSupportVerticalCodeMultiDecode()是否支持垂直的条码并使用多解码。 final DecodeConfigsetSupportVerticalCodeMultiDecode(Boolean supportVerticalCodeMultiDecode)设置是否支持垂直的条码并使用多解码。解码时会使用不同二值化策略组合来增强识别能力。 final RectgetAnalyzeAreaRect()获取需要分析识别的区域。 final DecodeConfigsetAnalyzeAreaRect(Rect analyzeAreaRect)设置需要分析识别区域。优先级比识别区域比例高,当设置了指定分析区域时,识别区域比例和识别区域偏移量相关参数都将无效。 由于此方式设置的是绝对位置,存在明显局限性,请谨慎使用(主要预留给特殊需求)。识别区域设置优先级: setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio final BooleanisFullAreaScan()是否支持全区域扫码识别。 final DecodeConfigsetFullAreaScan(Boolean fullAreaScan)设置是否支持全区域扫码识别,优先级高于识别区域相关配置。 final FloatgetAreaRectRatio()获取识别区域比例,默认 DEFAULT_AREA_RECT_RATIO。 final DecodeConfigsetAreaRectRatio(@FloatRange(from = 0.5.toDouble(), to = 1.0.toDouble()) Float areaRectRatio)设置识别区域比例,默认 DEFAULT_AREA_RECT_RATIO。设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低。 与 setAreaRectHorizontalOffset 和 setAreaRectVerticalOffset 结合使用可控制识别区域位置。 final IntegergetAreaRectVerticalOffset()获取识别区域垂直方向偏移量,支持负数。 大于 0 时,居中向下偏移;小于 0 时,居中向上偏移。 final DecodeConfigsetAreaRectVerticalOffset(Integer areaRectVerticalOffset)设置识别区域垂直方向偏移量,支持负数。 大于 0 时,居中向下偏移;小于 0 时,居中向上偏移。 final IntegergetAreaRectHorizontalOffset()获取识别区域水平方向偏移量,支持负数。 大于 0 时,居中向右偏移;小于 0 时,居中向左偏移。 final DecodeConfigsetAreaRectHorizontalOffset(Integer areaRectHorizontalOffset)设置识别区域水平方向偏移量,支持负数。 大于 0 时,居中向右偏移;小于 0 时,居中向左偏移。 StringtoString()-
-
Method Detail
-
setHints
final DecodeConfig setHints(Map<DecodeHintType, Object> hints)
设置解码 Hint。
内置的一些解码配置可参见: DecodeFormatManager.DEFAULT_HINTSDecodeFormatManager.CODE_128_HINTSDecodeFormatManager.ONE_DIMENSIONAL_HINTS
如果不满足需求,也可以通过 DecodeFormatManager.createDecodeHints 自行配置支持的格式。
-
isSupportLuminanceInvert
final Boolean isSupportLuminanceInvert()
是否支持识别反色码(黑白颜色反转)。
-
setSupportLuminanceInvert
final DecodeConfig setSupportLuminanceInvert(Boolean supportLuminanceInvert)
设置是否支持识别反色码(黑白颜色反转)。
- Parameters:
supportLuminanceInvert- 默认为false。启用后可增强反色码识别能力,但会增加性能消耗。
-
isSupportVerticalCode
final Boolean isSupportVerticalCode()
是否支持扫垂直的条码。
-
setSupportVerticalCode
final DecodeConfig setSupportVerticalCode(Boolean supportVerticalCode)
设置是否支持扫垂直的条码。
- Parameters:
supportVerticalCode- 默认为false。启用后可增强垂直条码识别能力,但会增加性能消耗。
-
isMultiDecode
final Boolean isMultiDecode()
是否支持使用多解码。
-
setMultiDecode
final DecodeConfig setMultiDecode(Boolean multiDecode)
设置是否支持使用多解码。
- Parameters:
multiDecode- 默认为true
-
isSupportLuminanceInvertMultiDecode
final Boolean isSupportLuminanceInvertMultiDecode()
是否支持识别反色码(条码黑白颜色反转的码)并使用多解码。
-
setSupportLuminanceInvertMultiDecode
final DecodeConfig setSupportLuminanceInvertMultiDecode(Boolean supportLuminanceInvertMultiDecode)
设置是否支持识别反色码(条码黑白颜色反转的码)并使用多解码。
- Parameters:
supportLuminanceInvertMultiDecode- 默认为false。启用后可增强反色码识别能力,但会增加性能消耗。
-
isSupportVerticalCodeMultiDecode
final Boolean isSupportVerticalCodeMultiDecode()
是否支持垂直的条码并使用多解码。
-
setSupportVerticalCodeMultiDecode
final DecodeConfig setSupportVerticalCodeMultiDecode(Boolean supportVerticalCodeMultiDecode)
设置是否支持垂直的条码并使用多解码。
解码时会使用不同二值化策略组合来增强识别能力。
- Parameters:
supportVerticalCodeMultiDecode- 默认为false。启用后可增强垂直条码识别能力,但会增加性能消耗。
-
getAnalyzeAreaRect
final Rect getAnalyzeAreaRect()
获取需要分析识别的区域。
-
setAnalyzeAreaRect
final DecodeConfig setAnalyzeAreaRect(Rect analyzeAreaRect)
设置需要分析识别区域。
优先级比识别区域比例高,当设置了指定分析区域时,识别区域比例和识别区域偏移量相关参数都将无效。 由于此方式设置的是绝对位置,存在明显局限性,请谨慎使用(主要预留给特殊需求)。
识别区域设置优先级: setFullAreaScan -> setAnalyzeAreaRect -> setAreaRectRatio
-
isFullAreaScan
final Boolean isFullAreaScan()
是否支持全区域扫码识别。
-
setFullAreaScan
final DecodeConfig setFullAreaScan(Boolean fullAreaScan)
设置是否支持全区域扫码识别,优先级高于识别区域相关配置。
- Parameters:
fullAreaScan- 默认为false
-
getAreaRectRatio
final Float getAreaRectRatio()
获取识别区域比例,默认 DEFAULT_AREA_RECT_RATIO。
-
setAreaRectRatio
final DecodeConfig setAreaRectRatio(@FloatRange(from = 0.5.toDouble(), to = 1.0.toDouble()) Float areaRectRatio)
设置识别区域比例,默认 DEFAULT_AREA_RECT_RATIO。
设置的比例最终会基于分析图像帧上裁减出此比例的一个矩形进行扫码识别,优先级最低。 与 setAreaRectHorizontalOffset 和 setAreaRectVerticalOffset 结合使用可控制识别区域位置。
-
getAreaRectVerticalOffset
final Integer getAreaRectVerticalOffset()
获取识别区域垂直方向偏移量,支持负数。 大于 0 时,居中向下偏移;小于 0 时,居中向上偏移。
-
setAreaRectVerticalOffset
final DecodeConfig setAreaRectVerticalOffset(Integer areaRectVerticalOffset)
设置识别区域垂直方向偏移量,支持负数。 大于 0 时,居中向下偏移;小于 0 时,居中向上偏移。
-
getAreaRectHorizontalOffset
final Integer getAreaRectHorizontalOffset()
获取识别区域水平方向偏移量,支持负数。 大于 0 时,居中向右偏移;小于 0 时,居中向左偏移。
-
setAreaRectHorizontalOffset
final DecodeConfig setAreaRectHorizontalOffset(Integer areaRectHorizontalOffset)
设置识别区域水平方向偏移量,支持负数。 大于 0 时,居中向右偏移;小于 0 时,居中向左偏移。
-
-
-
-