Table of Contents

Class MaskUtil

Namespace
ZXing.QrCode.Internal
Assembly
zxing.dll
public static class MaskUtil
Inheritance
MaskUtil
Inherited Members

Methods

applyMaskPenaltyRule1(ByteMatrix)

Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and give penalty to them. Example: 00000 or 11111.

public static int applyMaskPenaltyRule1(ByteMatrix matrix)

Parameters

matrix ByteMatrix

The matrix.

Returns

int

applyMaskPenaltyRule2(ByteMatrix)

Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.

public static int applyMaskPenaltyRule2(ByteMatrix matrix)

Parameters

matrix ByteMatrix

The matrix.

Returns

int

applyMaskPenaltyRule3(ByteMatrix)

Apply mask penalty rule 3 and return the penalty. Find consecutive cells of 00001011101 or 10111010000, and give penalty to them. If we find patterns like 000010111010000, we give penalties twice (i.e. 40 * 2).

public static int applyMaskPenaltyRule3(ByteMatrix matrix)

Parameters

matrix ByteMatrix

The matrix.

Returns

int

applyMaskPenaltyRule4(ByteMatrix)

Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.

public static int applyMaskPenaltyRule4(ByteMatrix matrix)

Parameters

matrix ByteMatrix

The matrix.

Returns

int

getDataMaskBit(int, int, int)

Return the mask bit for "getMaskPattern" at "x" and "y". See 8.8 of JISX0510:2004 for mask pattern conditions.

public static bool getDataMaskBit(int maskPattern, int x, int y)

Parameters

maskPattern int

The mask pattern.

x int

The x.

y int

The y.

Returns

bool