public class DecodeConfig extends Object
>
设置解码 setHints(Map)内置的一些解码可参见如下:
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}
如果不满足您也可以通过{@link DecodeFormatManager#createDecodeHints(BarcodeFormat...)}自己配置支持的格式
>
识别区域可设置的方式有如下几种:
{@link #setFullAreaScan(boolean)} 设置是否支持全区域扫码识别,优先级比识别区域高
{@link #setAnalyzeAreaRect(Rect)} 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效
{@link #setAreaRectRatio(float)} 设置识别区域比例,默认{@link #DEFAULT_AREA_RECT_RATIO},设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低
因为{@link androidx.camera.view.PreviewView}的预览区域是经过裁剪的,所以这里的区域并不是用户所能预览到的区域,而是指Camera预览的真实区域,
您还可以通过{@link CameraScan#setCameraConfig(CameraConfig)}去自定义配置{@link CameraConfig}的配置信息控制预览相关配置信息
即判定区域分析的优先级顺序为:{@link #setFullAreaScan(boolean)} -> {@link #setAnalyzeAreaRect(Rect)} -> {@link #setAreaRectRatio(float)}
>
| 限定符和类型 | 字段和说明 |
|---|---|
static float |
DEFAULT_AREA_RECT_RATIO |
| 构造器和说明 |
|---|
DecodeConfig() |
| 限定符和类型 | 方法和说明 |
|---|---|
android.graphics.Rect |
getAnalyzeAreaRect()
需要分析识别区域
|
int |
getAreaRectHorizontalOffset()
识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移
|
float |
getAreaRectRatio()
识别区域比例,默认
DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别 |
int |
getAreaRectVerticalOffset()
识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移
|
Map<com.google.zxing.DecodeHintType,Object> |
getHints() |
boolean |
isFullAreaScan()
是否支持全区域扫码识别
|
boolean |
isMultiDecode()
是否支持使用多解码
|
boolean |
isSupportLuminanceInvert()
是否支持识别反色码,黑白颜色反转
|
boolean |
isSupportLuminanceInvertMultiDecode()
是否支持识别反色码(条码黑白颜色反转的码)使用多解码
|
boolean |
isSupportVerticalCode()
是否支持扫垂直的条码
|
boolean |
isSupportVerticalCodeMultiDecode()
是否支持垂直的条码,使用多解码
|
DecodeConfig |
setAnalyzeAreaRect(android.graphics.Rect analyzeAreaRect)
设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效
|
DecodeConfig |
setAreaRectHorizontalOffset(int areaRectHorizontalOffset)
设置识别区域水平方向偏移量,支持负数,大于0时,居中心向右偏移,小于0时,居中心向左偏移
|
DecodeConfig |
setAreaRectRatio(float areaRectRatio)
设置识别区域比例,默认
DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低 |
DecodeConfig |
setAreaRectVerticalOffset(int areaRectVerticalOffset)
设置识别区域垂直方向偏移量,支持负数,大于0时,居中心向下偏移,小于0时,居中心向上偏移
|
DecodeConfig |
setFullAreaScan(boolean fullAreaScan)
设置是否支持全区域扫码识别,优先级比识别区域高
|
DecodeConfig |
setHints(Map<com.google.zxing.DecodeHintType,Object> hints)
设置解码
|
DecodeConfig |
setMultiDecode(boolean multiDecode)
是否支持使用多解码
|
DecodeConfig |
setSupportLuminanceInvert(boolean supportLuminanceInvert)
设置是否支持识别反色码,黑白颜色反转
|
DecodeConfig |
setSupportLuminanceInvertMultiDecode(boolean supportLuminanceInvertMultiDecode)
设置是否支持识别反色码(条码黑白颜色反转的码)使用多解码
|
DecodeConfig |
setSupportVerticalCode(boolean supportVerticalCode)
设置是否支持扫垂直的条码
|
DecodeConfig |
setSupportVerticalCodeMultiDecode(boolean supportVerticalCodeMultiDecode)
设置是否支持垂直的条码,使用多解码
|
String |
toString() |
public static final float DEFAULT_AREA_RECT_RATIO
public DecodeConfig setHints(Map<com.google.zxing.DecodeHintType,Object> hints)
hints - DecodeFormatManager
内置的一些解码可参见如下: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}
如果不满足您也可以通过{@link DecodeFormatManager#createDecodeHints(BarcodeFormat...)}自己配置支持的格式public boolean isSupportLuminanceInvert()
public DecodeConfig setSupportLuminanceInvert(boolean supportLuminanceInvert)
supportLuminanceInvert - 默认为false,想要增强支持扫码识别反色码时可使用,相应的也会增加性能消耗。public boolean isSupportVerticalCode()
public DecodeConfig setSupportVerticalCode(boolean supportVerticalCode)
supportVerticalCode - 默认为false,想要增强支持扫码识别垂直的条码时可使用,相应的也会增加性能消耗。public boolean isMultiDecode()
public DecodeConfig setMultiDecode(boolean multiDecode)
multiDecode - 默认为trueHybridBinarizer} , {@link GlobalHistogramBinarizer}public boolean isSupportLuminanceInvertMultiDecode()
public DecodeConfig setSupportLuminanceInvertMultiDecode(boolean supportLuminanceInvertMultiDecode)
supportLuminanceInvertMultiDecode - 默认为false,想要增强支持扫码识别反色码时可使用,相应的也会增加性能消耗。HybridBinarizer} , {@link GlobalHistogramBinarizer}public boolean isSupportVerticalCodeMultiDecode()
public DecodeConfig setSupportVerticalCodeMultiDecode(boolean supportVerticalCodeMultiDecode)
supportVerticalCodeMultiDecode - 默认为false,想要增强支持扫码识别垂直的条码时可使用,相应的也会增加性能消耗。HybridBinarizer} , {@link GlobalHistogramBinarizer}public android.graphics.Rect getAnalyzeAreaRect()
public DecodeConfig setAnalyzeAreaRect(android.graphics.Rect analyzeAreaRect)
analyzeAreaRect - 识别区域可设置的方式有如下几种:
setFullAreaScan(boolean) 设置是否支持全区域扫码识别,优先级比识别区域高
setAnalyzeAreaRect(Rect) 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效
setAreaRectRatio(float) 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低
因为PreviewView的预览区域是经过裁剪的,所以这里的区域并不是用户所能预览到的区域,而是指Camera预览的真实区域,
您还可以通过CameraScan.setCameraConfig(CameraConfig)去自定义配置CameraConfig的配置信息控制预览相关配置信息
即判定区域分析的优先级顺序为:setFullAreaScan(boolean) -> setAnalyzeAreaRect(Rect) -> setAreaRectRatio(float)public boolean isFullAreaScan()
public DecodeConfig setFullAreaScan(boolean fullAreaScan)
fullAreaScan - 默认为true
识别区域可设置的方式有如下几种:
setFullAreaScan(boolean) 设置是否支持全区域扫码识别,优先级比识别区域高
setAnalyzeAreaRect(Rect) 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效
setAreaRectRatio(float) 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低
因为PreviewView的预览区域是经过裁剪的,所以这里的区域并不是用户所能预览到的区域,而是指Camera预览的真实区域,
您还可以通过CameraScan.setCameraConfig(CameraConfig)去自定义配置CameraConfig的配置信息控制预览相关配置信息
即判定区域分析的优先级顺序为:setFullAreaScan(boolean) -> setAnalyzeAreaRect(Rect) -> setAreaRectRatio(float)public float getAreaRectRatio()
DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别public DecodeConfig setAreaRectRatio(@FloatRange(from=0.5,to=1.0) float areaRectRatio)
DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低areaRectRatio - 识别区域可设置的方式有如下几种:
setFullAreaScan(boolean) 设置是否支持全区域扫码识别,优先级比识别区域高
setAnalyzeAreaRect(Rect) 设置需要分析识别区域,优先级比识别区域比例高,当设置了指定的分析区域时,识别区域比例和识别区域偏移量相关参数都将无效
setAreaRectRatio(float) 设置识别区域比例,默认DEFAULT_AREA_RECT_RATIO,设置的比例最终会在预览区域裁剪基于此比例的一个矩形进行扫码识别,优先级最低
因为PreviewView的预览区域是经过裁剪的,所以这里的区域并不是用户所能预览到的区域,而是指Camera预览的真实区域,
您还可以通过CameraScan.setCameraConfig(CameraConfig)去自定义配置CameraConfig的配置信息控制预览相关配置信息
即判定区域分析的优先级顺序为:setFullAreaScan(boolean) -> setAnalyzeAreaRect(Rect) -> setAreaRectRatio(float)public int getAreaRectVerticalOffset()
public DecodeConfig setAreaRectVerticalOffset(int areaRectVerticalOffset)
areaRectVerticalOffset - public int getAreaRectHorizontalOffset()
public DecodeConfig setAreaRectHorizontalOffset(int areaRectHorizontalOffset)
areaRectHorizontalOffset -