WeiSha.Common The general exception class throw when something goes wrong during decoding of a barcode. This includes, but is not limited to, failing checksums / error correction algorithms, being unable to locate finder timing patterns, and so on. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates an alignment pattern, which are the smaller square patterns found in all but the simplest QR Codes.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates a point of interest in an image containing a barcode. Typically, this would be the location of a finder pattern or the corner of the barcode, for example.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
distance between two points Returns the z component of the cross product between vectors BC and BA.

Determines if this alignment pattern "about equals" an alignment pattern at the stated position and size -- meaning, it is at nearly the same center with nearly the same size.

QR Codes can encode text as bits in one of several modes, and can use multiple modes in one QR Code. This class decodes the bits back into text.

See ISO 18004:2006, 6.4.3 - 6.4.7

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
See ISO 18004:2006, 6.4.4 Table 5 This object renders an EAN13 code as a ByteMatrix 2D array of greyscale values. aripollak@gmail.com (Ari Pollak) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates functionality and implementation that is common to UPC and EAN families of one-dimensional barcodes.

aripollak@gmail.com (Ari Pollak) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
The base class for all objects which encode/generate a barcode image. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Encode a barcode using the default settings. The contents to encode in the barcode The barcode format to generate The preferred width in pixels The preferred height in pixels The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white) The contents to encode in the barcode The barcode format to generate The preferred width in pixels The preferred height in pixels Additional parameters to supply to the encoder The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white) a byte array of horizontal pixels (0 = white, 1 = black) Appends the given pattern to the target array starting at pos. starting color - 0 for white, 1 for black the number of elements added to target. a byte array of horizontal pixels (0 = white, 1 = black)

Implements decoding of the EAN-13 format.

dswitkin@google.com (Daniel Switkin) Sean Owen alasdair@google.com (Alasdair Mackintosh) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates functionality and implementation that is common to UPC and EAN families of one-dimensional barcodes.

dswitkin@google.com (Daniel Switkin) Sean Owen alasdair@google.com (Alasdair Mackintosh) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Encapsulates functionality and implementation that is common to all families of one-dimensional barcodes. dswitkin@google.com (Daniel Switkin) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Implementations of this interface can decode an image of a barcode in some format into the String it encodes. For example, {@link com.google.zxing.qrcode.QRCodeReader} can decode a QR code. The decoder may optionally receive hints from the caller which may help it decode more quickly or accurately. See {@link com.google.zxing.MultiFormatReader}, which attempts to determine what barcode format is present within the image as well, and then decodes it accordingly. Sean Owen dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Locates and decodes a barcode in some format within an image. image of barcode to decode String which the barcode encodes ReaderException if the barcode cannot be located or decoded for any reason Locates and decodes a barcode in some format within an image. This method also accepts hints, each possibly associated to some data, which may help the implementation decode. image of barcode to decode passed as a {@link java.util.Hashtable} from {@link com.google.zxing.DecodeHintType} to arbitrary data. The meaning of the data depends upon the hint type. The implementation may or may not do anything with these hints. String which the barcode encodes ReaderException if the barcode cannot be located or decoded for any reason We're going to examine rows from the middle outward, searching alternately above and below the middle, and farther out each time. rowStep is the number of rows between each successive attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then middle + rowStep, then middle - (2 * rowStep), etc. rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily decided that moving up and down by about 1/16 of the image is pretty good; we try more of the image if "trying harder". The image to decode Any hints that were requested The contents of the decoded barcode ReaderException Any spontaneous errors which occur Records the size of successive runs of white and black pixels in a row, starting at a given point. The values are recorded in the given array, and the number of runs recorded is equal to the size of the array. If the row starts on a white pixel at the given start point, then the first count recorded is the run of white pixels starting from that point; likewise it is the count of a run of black pixels if the row begin on a black pixels at that point. row to count from offset into row to start at array into which to record counts ReaderException if counters cannot be filled entirely from row before running out of pixels Determines how closely a set of observed counts of runs of black/white values matches a given target pattern. This is reported as the ratio of the total variance from the expected pattern proportions across all pattern elements, to the length of the pattern. observed counters expected pattern The most any counter can differ before we give up ratio of total variance between counters and pattern compared to total pattern size, where the ratio has been multiplied by 256. So, 0 means no variance (perfect match); 256 means the total variance between counters and patterns equals the pattern length, higher values mean even more variance

Attempts to decode a one-dimensional barcode format given a single row of an image.

row number from top of the row the black/white pixel data of the row decode hints {@link Result} containing encoded string and start/end of barcode ReaderException if an error occurs or barcode cannot be found
Start/end guard pattern. Pattern marking the middle of a UPC/EAN pattern, separating the two halves. "Odd", or "L" patterns used to encode UPC/EAN digits. As above but also including the "even", or "G" patterns used to encode UPC/EAN digits.

Like {@link #decodeRow(int, BitArray, java.util.Hashtable)}, but allows caller to inform method about where the UPC/EAN start pattern is found. This allows this to be computed once and reused across many implementations.

{@link #checkStandardUPCEANChecksum(String)} Computes the UPC/EAN checksum on a string of digits, and reports whether the checksum is correct or not. string of digits to check true iff string of digits passes the UPC/EAN checksum algorithm ReaderException if the string does not contain only digits row of black/white values to search position to start search if true, indicates that the pattern specifies white/black/white/... pixel counts, otherwise, it is interpreted as black/white/black/... pattern of counts of number of black and white pixels that are being searched for as a pattern start/end horizontal offset of guard pattern, as an array of two ints ReaderException if pattern is not found Attempts to decode a single UPC/EAN-encoded digit. row of black/white values to decode the counts of runs of observed black/white/black/... values horizontal offset to start decoding from the set of patterns to use to decode -- sometimes different encodings for the digits 0-9 are used, and this indicates the encodings for 0 to 9 that should be used horizontal offset of first pixel beyond the decoded digit ReaderException if digit cannot be decoded Subclasses override this to decode the portion of a barcode between the start and end guard patterns. row of black/white values to search start/end offset of start guard pattern {@link StringBuffer} to append decoded chars to horizontal offset of first pixel after the "middle" that was decoded ReaderException if decoding could not complete successfully Get the format of this decoder. The 1D format. Based on pattern of odd-even ('L' and 'G') patterns used to encoded the explicitly-encoded digits in a barcode, determines the implicitly encoded first digit and adds it to the result string. string to insert decoded first digit into int whose bits indicates the pattern of odd/even L/G patterns used to encode digits ReaderException if first digit cannot be determined

Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code is rotated or skewed, or partially obscured.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Detects a Data Matrix Code in an image.

{@link DetectorResult} encapsulating results of detecting a QR Code ReaderException if no Data Matrix Code can be found
Increments the Integer associated with a key by one. Counts the number of black/white transitions between two points, using something like Bresenham's algorithm. Simply encapsulates two points and a number of transitions between them. Orders ResultPointsAndTransitions by number of transitions, ascending. This is merely a clone of Comparator since it is not available in CLDC 1.1 / MIDP 2.0. Parses a "tel:" URI result, which specifies a phone number. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Abstract class representing the result of decoding a barcode, as more than a String -- as some type of structured data. This might be a subclass which represents a URL, or an e-mail address. {@link #parseResult(com.google.zxing.Result)} will turn a raw decoded string into the most appropriate type of structured representation.

Thanks to Jeff Griffin for proposing rewrite of these classes that relies less on exception-based mechanisms during parsing.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Recognizes an NDEF message that encodes a URI according to the "URI Record Type Definition" specification. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Superclass for classes encapsulating results in the NDEF format. See http://www.nfc-forum.org/specs/.

This code supports a limited subset of NDEF messages, ones that are plausibly useful in 2D barcode formats. This generally includes 1-record messages, no chunking, "short record" syntax, no ID field.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Implements KDDI AU's address book format. See http://www.au.kddi.com/ezfactory/tec/two_dimensions/index.html. (Thanks to Yuzo for translating!) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source This class hierarchy provides a set of methods to convert luminance data to 1 bit data. It allows the algorithm to vary polymorphically, for example allowing a very expensive thresholding technique for servers and a fast one for mobile. It also permits the implementation to vary, e.g. a JNI version for Android and a Java fallback version for other platforms. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Creates a new object with the same type as this Binarizer implementation, but with pristine state. This is needed because Binarizer implementations may be stateful, e.g. keeping a cache of 1 bit data. See Effective Java for why we can't use Java's clone() method. The LuminanceSource this Binarizer will operate on. A new concrete Binarizer implementation object. Converts a 2D array of luminance data to 1 bit data. As above, assume this method is expensive and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or may not apply sharpening. Therefore, a row from this matrix may not be identical to one fetched using getBlackRow(), so don't mix and match between them. The 2D array of bits for the image (true means black). 自定义配置,实现一些小范围管理内的参数设置 说明:基于xml管理的参数设置 载信配置信息,创建管理对象 整个配置项目的字符串(xml文档) 子级配置项 配置项的操作对象 刷新 添加子项 迭代器 配置项的Key 配置项的值(vlaue) 子级配置项

Attempts to locate multiple barcodes in an image by repeatedly decoding portion of the image. After one barcode is found, the areas left, above, right and below the barcode's {@link com.google.zxing.ResultPoint}s are scanned, recursively.

A caller may want to also employ {@link ByQuadrantReader} when attempting to find multiple 2D barcodes, like QR Codes, in an image, where the presence of multiple barcodes might prevent detecting any one of them.

That is, instead of passing a {@link Reader} a caller might pass new ByQuadrantReader(reader).

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Implementation of this interface attempt to read several barcodes from one image. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into multiple blocks, each of which is a unit of data and error-correction codewords. Each is represented by an instance of this class.

bbrown@google.com (Brian Brown) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them. That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This method will separate the data into original blocks.

bytes as read directly from the Data Matrix Code version of the Data Matrix Code {@link DataBlock}s containing original bytes, "de-interleaved" from representation in the Data Matrix Code
Converts this ByteMatrix to a black and white bitmap. A black and white bitmap converted from this ByteMatrix. Parses contact information formatted according to the VCard (2.1) format. This is not a complete implementation but should parse information as commonly encoded in 2D barcodes. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Formats name fields of the form "Public;John;Q.;Reverend;III" into a form like "Reverend John Q. Public III". name values to format, in place Represents the type of data encoded by a barcode -- from plain text, to a URI, to an e-mail address, etc. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 剪切图片 原始图片对象 起始X坐标 起始Y坐标 返回处理后的图片对象 图片缩放,强制缩放到指定尺寸 是否允许变形,如果不允许,则会剪切图形; 图片缩放,按比例 原图的尺寸百分比 生成缩略图,非变形生成 原始图片对象 缩略图宽 缩略高 按百分比生成缩略图 原始图片对象 原图的百分之多少 非变形的生成缩略图,根据宽或高缩放,保持图片缩放时不变形 原始图片对象 缩略图宽 缩略高 约束对象,1为度,2为高,0为自适应 图片叠加 原图片对象 叠加的图片对象 起始X坐标 起始Y坐标 图片叠加,可以设置透明度,即水印图片添加 叠加的图片对象 透明度,0为完全透明,100为不透明 图片叠加 原图片对象 要叠加的图片对象 叠加的类型,分为左left、右right、上top、下down、中cengter;另分为左上、左下、右上、右下; 透明度,0为完全透明,100为不透明 叠加文字 原图片对象 在叠加的字符串 叠加的类型,分为左left、右right、上top、下down、中cengter;另分为左上、左下、右上、右下; 透明度,0为完全透明,100为不透明 叠加文字 叠加的类型,分为左left、右right、上top、下down、中cengter;另分为左上、左下、右上、右下; 透明度,0为完全透明,100为不透明 字符大小 字体 文字颜色 将文本创建成图片对象 将文本创建成图片对象 要创建图像的字符串 字符的大小 字体 字符颜色 设置图片透明度 要操作的图片对象 透明度,0为完全透明,100为不透明 给图片生成一个边框 图片文件转Base64 Base64字符串转图片对象 图片生成圆角 图片生成圆角 圆角位置,参数:TopLeft,TopRight,BottomLeft,BottomRight 图片不规则截图 原图 裁剪路径 当前程序集版本号 应用层的程序集版本号 IOC的入口 webpage的增强 弹出提示 将实体的值绑定到控件 递归设置控件的值 向单个控件绑定 向控件赋值 转换为Flv视频格式 转换为Flv视频格式 视频质量(1-255),值越小质量越高输出文件就越大,50以后质量就非常糟糕了;ffmpeg官方解释:固定的视频量化标度 视频完整路径名 转换为Flv视频格式 指定新的文件名,此处不包括扩展名,系统自动加上.flv 视频完整路径名 转换为Flv视频格式 指定输出文件的所在路径 视频完整路径名 转换为MP4 视频质量,后边的值越小质量越高,但是输出文件就越大;ffmpeg官方解释:固定的视频量化标度 是否覆盖已经转换的视频,如果为flase将跳过;如果为true将删除已经生成的 视频完整路径名 转换为MP4 指定新的文件名,此处不包括扩展名,系统自动加上.mp4 视频完整路径名 转换为MP4 指定输出文件的所在路径 视频完整路径名 获取视频截图 图片完整路径名 要操作的视频对象 被操作的视频文件 被操作的视频文件 模板库对象 构建模板库 模板库所在的路径 当前模板库的配置项 初始化 获取模板库下的文件列表,仅文件名,不包括后缀名 模板根路径 当前路径 当配置文件不存在时,创建配置文件 页面是否存在于模板库 页面文件,不含后缀名 模板的名称 模板的标识,即模板所在文件夹的名称 模板的作者 创建时间 作者QQ 作者QQ 模板说明 模板的文件总大小,换算成mb或kb为单位 模板的文件总大小,单位字节 模板的Logo,这里是其图片路径 模板的文件夹名称 是否是当前使用模板 模板库的配置项 当前模板库的文件

Encapsulates a QR Code's format information, including the data mask used and error correction level.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
See ISO 18004:2006, Annex C, Table C.1 Offset i holds the number of 1 bits in the binary representation of i format info indicator, with mask still applied information about the format it specifies, or null if doesn't seem to match any known pattern

Represents a polynomial whose coefficients are elements of GF(256). Instances of this class are immutable.

Much credit is due to William Rucklidge since portions of this code are an indirect port of his C++ Reed-Solomon implementation.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
the {@link GF256} instance representing the field to use to perform computations coefficients as ints representing elements of GF(256), arranged from most significant (highest-power term) coefficient to least significant IllegalArgumentException if argument is null or empty, or if leading coefficient is 0 and this is not a constant polynomial (that is, it is not the monomial "0") coefficient of x^degree term in this polynomial evaluation of this polynomial at a given point degree of this polynomial true iff this polynomial is the monomial "0" This class implements a local thresholding algorithm, which while slower than the GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for high frequency images of barcodes with black data on white backgrounds. For this application, it does a much better job than a global blackpoint with severe shadows and gradients. However it tends to produce artifacts on lower frequency images and is therefore not a good general purpose binarizer for uses outside ZXing. This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers, and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already inherently local, and only fails for horizontal gradients. We can revisit that problem later, but for now it was not a win to use local blocks for 1D. This Binarizer is the default for the unit tests and the recommended class for library users. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source This Binarizer implementation uses the old ZXing global histogram approach. It is suitable for low-end mobile devices which don't have enough CPU or memory to use a local thresholding algorithm. However, because it picks a global black point, it cannot handle difficult shadows and gradients. Faster mobile devices and all desktop applications should probably use HybridBinarizer instead. dswitkin@google.com (Daniel Switkin) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Represents a 2D matrix of bits. In function arguments below, and throughout the common module, x is the column position, and y is the row position. The ordering is always x, y. The origin is at the top-left.

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins with a new int. This is done intentionally so that we can copy out a row into a BitArray very efficiently.

The ordering of bits is row-major. Within each int, the least significant bits are used first, meaning they represent lower x values. This is compatible with BitArray's implementation.

Sean Owen dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Gets the requested bit, where true means black.

The horizontal component (i.e. which column) The vertical component (i.e. which row) value of given bit in matrix

Sets the given bit to true.

The horizontal component (i.e. which column) The vertical component (i.e. which row)

Flips the given bit.

The horizontal component (i.e. which column) The vertical component (i.e. which row)
Clears all bits (sets to false).

Sets a square region of the bit matrix to true.

The horizontal position to begin at (inclusive) The vertical position to begin at (inclusive) The width of the region The height of the region
A fast method to retrieve one row of data from the matrix as a BitArray. The row to retrieve An optional caller-allocated BitArray, will be allocated if null or too small The resulting BitArray - this reference should always be used even when passing your own row The width of the matrix The height of the matrix This method is for compatibility with older code. It's only logical to call if the matrix is square, so I'm throwing if that's not the case. row/column dimension of this matrix Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Abstract class representing the result of decoding a barcode, as more than a String -- as some type of structured data. This might be a subclass which represents a URL, or an e-mail address. {@link ResultParser#parseResult(Result)} will turn a raw decoded string into the most appropriate type of structured representation.

Thanks to Jeff Griffin for proposing rewrite of these classes that relies less on exception-based mechanisms during parsing.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
latitude in degrees longitude in degrees altitude in meters. If not specified, in the geo URI, returns 0.0 Implements the "MATMSG" email message entry format. Supported keys: TO, SUB, BODY Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

See DoCoMo's documentation about the result types represented by subclasses of this class.

Thanks to Jeff Griffin for proposing rewrite of these classes that relies less on exception-based mechanisms during parsing.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
This implements only the most basic checking for an email address's validity -- that it contains an '@' contains no characters disallowed by RFC 2822. This is an overly lenient definition of validity. We want to generally be lenient here since this class is only intended to encapsulate what's in a barcode, not "judge" it. 解析web.config自定义的Platform节点 获取配置的具体参数节点,即某一类参数的节点,如:Upload、Template等 节点路径,例如:Upload、Template等 获取参数节点 节点名称 对配置参数的节点的解析;如:Upload节点的属性、子项等 通过key值,获取下级子节点 构造函数 参数分类的节点,如:Upload节点 获取属性值 根据子项(Item)的key值,获取Value值 节点的Key值 节点的Value值 第一个子节点 所有的子节点对象 获取当前参数节点的属性 下级节点的Key值

Encapsulates logic that can detect a QR Code in an image, even if the QR Code is rotated or skewed, or partially obscured.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Detects a QR Code in an image, simply.

{@link DetectorResult} encapsulating results of detecting a QR Code ReaderException if no QR Code can be found

Detects a QR Code in an image, simply.

optional hints to detector {@link DetectorResult} encapsulating results of detecting a QR Code ReaderException if no QR Code can be found

Computes the dimension (number of modules on a size) of the QR Code based on the position of the finder patterns and estimated module size.

Computes an average estimated module size based on estimated derived from the positions of the three finder patterns.

Estimates module size based on two finder patterns -- it uses {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the width of each, measuring along the axis between their centers.

This method traces a line from a point in the image, in the direction towards another point. It begins in a black region, and keeps going until it finds white, then black, then white again. It reports the distance from the start to this point.

This is used when figuring out how wide a finder pattern is, when the finder pattern may be skewed or rotated.

Attempts to locate an alignment pattern in a limited region of the image, which is guessed to contain it. This method uses {@link AlignmentPattern}.

estimated module size so far x coordinate of center of area probably containing alignment pattern y coordinate of above number of pixels in all directions to search from the center {@link AlignmentPattern} if found, or null otherwise ReaderException if an unexpected error occurs during detection
Ends up being a bit faster than Math.round(). This merely rounds its argument to the nearest int, where x.5 rounds up.

The main class which implements QR Code decoding -- as opposed to locating and extracting the QR Code from an image.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Convenience method that can decode a QR Code represented as a 2D array of booleans. "true" is taken to mean a black module.

booleans representing white/black QR Code modules text and bytes encoded within the QR Code ReaderException if the QR Code cannot be decoded

Decodes a QR Code represented as a {@link BitMatrix}. A 1 or "true" is taken to mean a black module.

booleans representing white/black QR Code modules text and bytes encoded within the QR Code ReaderException if the QR Code cannot be decoded

Given data and error-correction codewords received, possibly corrupted by errors, attempts to correct the errors in-place using Reed-Solomon error correction.

data and error correction codewords number of codewords that are data bytes ReaderException if error correction fails
Encapsulates a type of hint that a caller may pass to a barcode reader to help it more quickly or accurately decode it. It is up to implementations to decide what, if anything, to do with the information that is supplied. Sean Owen dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Unspecified, application-specific hint. Maps to an unspecified {@link Object}. Image is a pure monochrome image of a barcode. Doesn't matter what it maps to; use {@link Boolean#TRUE}. Image is known to be of one of a few possible formats. Maps to a {@link java.util.Vector} of {@link BarcodeFormat}s. Spend more time to try to find a barcode; optimize for accuracy, not speed. Doesn't matter what it maps to; use {@link Boolean#TRUE}. Allowed lengths of encoded data -- reject anything else. Maps to an int[]. Assume Code 39 codes employ a check digit. Maps to {@link Boolean}. The caller needs to be notified via callback when a possible {@link ResultPoint} is found. Maps to a {@link ResultPointCallback}. The Version object encapsulates attributes about a particular size Data Matrix Code. bbrown@google.com (Brian Brown) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Deduces version information from Data Matrix dimensions.

Number of rows in modules Number of columns in modules {@link Version} for a Data Matrix Code of those dimensions ReaderException if dimensions do correspond to a valid Data Matrix size
See ISO 16022:2006 5.5.1 Table 7

Encapsulates a set of error-correction blocks in one symbol version. Most versions will use blocks of differing sizes within one version, so, this encapsulates the parameters for each set of blocks. It also holds the number of error-correction codewords per block since it will be the same across all blocks within one version.

Encapsualtes the parameters for one error-correction block in one symbol version. This includes the number of data codewords, and the number of times a block with these parameters is used consecutively in the Data Matrix code version's format.

Implements Reed-Solomon decoding, as the name implies.

The algorithm will not be explained here, but the following references were helpful in creating this implementation:

Much credit is due to William Rucklidge since portions of this code are an indirect port of his C++ Reed-Solomon implementation.

Sean Owen William Rucklidge sanfordsquires www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Decodes given set of received codewords, which include both data and error-correction codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place, in the input.

data and error-correction codewords number of error-correction codewords available ReedSolomonException if decoding fails for any reason

Encapsulates the result of detecting a barcode in an image. This includes the raw matrix of black/white pixels corresponding to the barcode, and possibly points of interest in the image, like the location of finder patterns or corners of the barcode in the image.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

A simple, fast array of bits, represented compactly by an array of ints internally.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
bit to get true iff bit i is set Sets bit i. bit to set Flips bit i. bit to set Sets a block of 32 bits, starting at bit i. first bit to set the new value of the next 32 bits. Note again that the least-significant bit corresponds to bit i, the next-least-significant to i+1, and so on. Clears all bits (sets to false). Efficient method to check if a range of bits is set, or not set. start of range, inclusive. end of range, exclusive if true, checks that bits in range are set, otherwise checks that they are not set true iff all bits are set or not set in range, according to value argument IllegalArgumentException if end is less than or equal to start underlying array of ints. The first element holds the first 32 bits, and the least significant bit is bit 0. Reverses all bits in the array. A simple result type encapsulating a string that has no further interpretation. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Parses strings of digits that represent a ISBN. jbreiden@google.com (Jeff Breidenbach) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Implements the "BIZCARD" address book entry format, though this has been largely reverse-engineered from examples observed in the wild -- still looking for a definitive reference. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Enumerates barcode formats known to this package. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source QR Code 2D barcode format. DataMatrix 2D barcode format. UPC-E 1D format. UPC-A 1D format. EAN-8 1D format. EAN-13 1D format. Code 128 1D format. Code 39 1D format. ITF (Interleaved Two of Five) 1D format. PDF417 format. 当前站点的域名 当前站点的二级域名 当前站点的主域(来自web.config设置) 激活码管理 加密字符串 加密类型,1为cup串号,2为硬盘串号,3为IP+端口,4为域名+端口 需加密的字符串 通过CPU串号生成激活码 通过硬盘串号生成激活码 通过IP生成激活码 通过域名生成激活码 通过主域名生成激活码 This object renders a QR Code as a ByteMatrix 2D array of greyscale values. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 生成二维码图像矩阵,默认是高容错 生成二维码图像矩阵,可以选择容错级别 容错级别 This implementation can detect and decode QR Codes in an image. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Locates and decodes a QR code in an image. a String representing the content encoded by the QR code ReaderException if a QR code cannot be found, or cannot be decoded This method detects a barcode in a "pure" image -- that is, pure monochrome image which contains only an unrotated, unskewed, image of a barcode, with some white border around it. This is a specialized method that works exceptionally fast in this special case.

Encapsulates information about finder patterns in an image, including the location of the three finder patterns, and their estimated module size.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates a block of data within a QR Code. QR Codes may split their data into multiple blocks, each of which is a unit of data and error-correction codewords. Each is represented by an instance of this class.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

When QR Codes use multiple data blocks, they are actually interleaved. That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This method will separate the data into original blocks.

bytes as read directly from the QR Code version of the QR Code error-correction level of the QR Code {@link DataBlock}s containing original bytes, "de-interleaved" from representation in the QR Code

Creates a finder that will search the image for three finder patterns.

image to search
Given a count of black/white/black/white/black pixels just seen and an end position, figures the location of the center of this run. count of black/white/black/white/black pixels just read true iff the proportions of the counts is close enough to the 1/1/3/1/1 ratios used by finder patterns to be considered a match

After a horizontal scan finds a potential finder pattern, this method "cross-checks" by scanning down vertically through the center of the possible finder pattern to see if the same proportion is detected.

row where a finder pattern was detected center of the section that appears to cross a finder pattern maximum reasonable number of modules that should be observed in any reading state, based on the results of the horizontal scan vertical center of finder pattern, or {@link Float#NaN} if not found

Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical, except it reads horizontally instead of vertically. This is used to cross-cross check a vertical cross check and locate the real center of the alignment pattern.

number of rows we could safely skip during scanning, based on the first two finder patterns that have been located. In some cases their position will allow us to infer that the third pattern must lie below a certain point farther down in the image. true iff we have found at least 3 finder patterns that have been detected at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the candidates is "pretty similar" the 3 best {@link FinderPattern}s from our list of candidates. The "best" are those that have been detected at least {@link #CENTER_QUORUM} times, and whose module size differs from the average among those patterns the least ReaderException if 3 such finder patterns do not exist

Orders by {@link FinderPattern#getCount()}, descending.

More or less arbitrary cutoff point for determining if two finder patterns might belong to the same code if they differ less than DIFF_MODSIZE_CUTOFF_PERCENT percent in their estimated modules sizes. More or less arbitrary cutoff point for determining if two finder patterns might belong to the same code if they differ less than DIFF_MODSIZE_CUTOFF pixels/module in their estimated modules sizes.

Creates a finder that will search the image for three finder patterns.

image to search
the 3 best {@link FinderPattern}s from our list of candidates. The "best" are those that have been detected at least {@link #CENTER_QUORUM} times, and whose module size differs from the average among those patterns the least ReaderException if 3 such finder patterns do not exist A comparator that orders FinderPatterns by their estimated module size. Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1 of ISO 18004. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" 5.3 of ISO 18004. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source ECI value {@link ECI} representing ECI of given value, or null if it is legal but unsupported IllegalArgumentException if ECI value is invalid character set ECI value {@link CharacterSetECI} representing ECI of given value, or null if it is legal but unsupported IllegalArgumentException if ECI value is invalid character set ECI encoding name {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal but unsupported Tries to parse results that are a URI of some kind. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Determines whether a string is not obviously not a URI. This implements crude checks; this class does not intend to strictly check URIs as its only function is to represent what is in a barcode, but, it does need to know when a string is obviously not a URI. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source In Japanese, the name is written in kanji, which can have multiple readings. Therefore a hint is often provided, called furigana, which spells the name phonetically. The pronunciation of the getNames() field, often in hiragana or katakana. birthday formatted as yyyyMMdd (e.g. 19780917) 服务器信息 获取某路径的物理路径,路径末尾带有\符号 获取某路径相对网站根目录的虚拟路径,路径末尾带有/符号 将文件名转换为合法的文件名 文件名 页面重定向 JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。 JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。 服务器IP 是否是本机IP 是否是内网IP 服务器访问端口 站点的访问域名 站点的访问域名带端口,如:http://www.xx.com/ 根域名 当前站点的主域(来自db.config设置) 服务器操作系统 IIS版本 CPU个数 CPU主频,单位 GHz 物理内存大小 .Net FramwWork版本号 获取CPU的序列号,由于某些原因,可能获取不到 取第一块硬盘物理串号;可能会由于某些原因取不到物理串号,会自动返回 当前应用程序的物理路径 数据库类型 数据库的完整物理路径名,包括路径与文件名;如果是Access数据库,则返回路径,如果是其它数据库则不返回 数据库所在的物理路径,不包括文件名;如果是Access数据库,则返回路径,如果是其它数据库则不返回 系统部署运行的初始时间 获取当前页面的信息 增加Get参数 参数名 参数值 增加某地址的参数 地址 参数,采用key=value的形式 给当前页面添加参数 参数,采用key=value的形式 移除url中的某些参数 参数,采用key=value的形式 移除当前页面地址的某些参数 参数,采用key=value的形式 当前aspx文档的文件名,包括后缀名,不包括路径 当前Aspx文档的名称,不包括后缀名,例如:test.aspx页面,将返回test 全名称物理路径 当前页面的权限标题,例如:Article_Edit.aspx,将返回Article; 当前页面相对于于/Manage文件夹的文件名,如sys/emplayee.aspx 当前页面的后缀名,如aspx; 当前页面所在的功能模块名称;即相对于/Manage文件夹的路径,因为每一个模块在Manage目录下是一个单独目录 当前aspx文档的URI完整路径,不包括文件名 当前页面的物理路径,不包括文件名 根域,例如http://xxx:82/ 将某个值转换为任意数据类型 将字符串分拆成数组 用于分拆的字符 转为指定的数据库类型 解密字符串,默认密钥为当前域名 参数的原始值 参数的键名 参数的单位 参数的Int16类型值,如果参数不存在或异常,则返回null; 参数的Int32类型值,如果参数不存在或异常,则返回null; 参数的Int64类型值,如果参数不存在或异常,则返回null; 参数的Double类型值,如果参数不存在或异常,则返回null; 参数的String类型值,如果参数不存在或异常,则返回空字符串,非Null; 参数文本类型值,自动去除html标签 参数的值,如果没有内容,返回Null 参数的Boolean类型值,如果参数不存在或异常,则返回true; 参数的DateTime类型值,如果参数不存在或异常,则返回null; 参数的MD5加密值(小写),如果参数不存在或异常,则返回null; 参数的SHA1加密值,如果参数不存在或异常,则返回null; 参数的字符串进行 URL 解码并返回已解码的字符串。如果参数不存在或异常,则返回null; 对经过HTML 编码的参数进行解码,并返回已解码的字符串。如果参数不存在或异常,则返回null; 转换为物理路径 转换虚拟路径 将C#时间转换成Javascript的时间 JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。 版本的限制项 限定的根域名 通过字段获取限制数量 返回值为-1,则不限制数量 当前版本各限制项的数据集 学员 教师 专业 课程,或科目 试题 试卷 文章,或资讯 知识 公告 机构 作为提示项的异常 作为警告项的异常 作为严重错误的异常 如果没有获得授权 如果没有登录 没有操作权限 satorux@google.com (Satoru Takabayashi) - creator dswitkin@google.com (Daniel Switkin) - ported from C++ www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix, including areas used for finder patterns, timing patterns, etc. These areas should be unused after the point they are unmasked anyway.

Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position and j is row position. In fact, as the text says, i is row position and j is column position.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
See ISO 18004:2006 6.8.1

Implementations of this method reverse the data masking process applied to a QR Code and make its bits ready to read.

representation of QR Code bits dimension of QR Code, represented by bits, being unmasked
a value between 0 and 7 indicating one of the eight possible data mask patterns a QR Code may use {@link DataMask} encapsulating the data mask pattern 000: mask bits for which (x + y) mod 2 == 0 001: mask bits for which x mod 2 == 0 010: mask bits for which y mod 3 == 0 011: mask bits for which (x + y) mod 3 == 0 100: mask bits for which (x/2 + y/3) mod 2 == 0 101: mask bits for which xy mod 2 + xy mod 3 == 0 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0 This object renders an EAN8 code as a ByteMatrix 2D array of greyscale values. aripollak@gmail.com (Ari Pollak) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source a byte array of horizontal pixels (0 = white, 1 = black)

Implements decoding of the EAN-8 format.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes in one Data Matrix Code. This class decodes the bits back into text.

See ISO 16022:2006, 5.2.1 - 5.2.9.2

bbrown@google.com (Brian Brown) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
See ISO 16022:2006, Annex C Table C.1 The C40 Basic Character Set (*'s used for placeholders for the shift values) See ISO 16022:2006, Annex C Table C.2 The Text Basic Character Set (*'s used for placeholders for the shift values) See ISO 16022:2006, 5.2.3 and Annex C, Table C.2 See ISO 16022:2006, 5.2.5 and Annex C, Table C.1 See ISO 16022:2006, 5.2.6 and Annex C, Table C.2 See ISO 16022:2006, 5.2.7 See ISO 16022:2006, 5.2.8 and Annex C Table C.3 See ISO 16022:2006, 5.2.9 and Annex B, B.2 See ISO 16022:2006, Annex B, B.2 This implementation can detect and decode Data Matrix codes in an image. bbrown@google.com (Brian Brown) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Locates and decodes a Data Matrix code in an image. a String representing the content encoded by the Data Matrix code ReaderException if a Data Matrix code cannot be found, or cannot be decoded This method detects a Data Matrix code in a "pure" image -- that is, pure monochrome image which contains only an unrotated, unskewed, image of a Data Matrix code, with some white border around it. This is a specialized method that works exceptionally fast in this special case.

Parses an "sms:" URI result, which specifies a number to SMS and optional "via" number. See the IETF draft on this.

This actually also parses URIs starting with "mms:", "smsto:", "mmsto:", "SMSTO:", and "MMSTO:", and treats them all the same way, and effectively converts them to an "sms:" URI for purposes of forwarding to the platform.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source XML文档操作的扩展 视频操作方法,此为入口类 通过视频文件名创建视频操作对象 初始化各种值 获取视频文件的各项信息,返回xml对象 将字符型的 h:m:s.f 数据转换为 TimeSpan 返回转换视频的应用路径 工具的文件名 完整路径名 视频转换的操作对象(程序会通过视频文件的后缀名判断返回操作对) 视频转换的操作对象 直接指定方法名,ffmpeg、mencoder 执行命令行指令 要执行的程序文件(完整路径名) 执行命令的参数 删除视频文件 删除视频文件 要排除的扩展名 被操作的视频文件 视频宽度 视频高度 视频时长 视频文件的大小,单位:字节 视频文件的大小,以字符形式 视频格式(简短名称) 视频格式(完整名称) 视频编码(简短名称) 视频编码(简短名称) 视频编码(完整名称) 音频编码(简短名称) 音频编码(完整名称) 视频文件名称,不带路径与扩展名 视频频文件的扩展名,不带点 视频频文件名称,不带路径名 视频频文件名称,带完整路径名 视频频文件的路径名称,不包括文件 视频信息的完整XML对象 A base class which covers the range of exceptions which may occur when encoding a barcode using the Writer framework. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

This class contains the methods for decoding the PDF417 codewords.

SITA Lab (kevin.osullivan@sita.aero) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as well as selected control characters. The array of codewords (data + error) The current index into the codeword array. The decoded data is appended to the result. The next index into the codeword array. The Text Compaction mode includes all the printable ASCII characters (i.e. values from 32 to 126) and three ASCII control characters: HT or tab (ASCII value 9), LF or line feed (ASCII value 10), and CR or carriage return (ASCII value 13). The Text Compaction mode also includes various latch and shift characters which are used exclusively within the mode. The Text Compaction mode encodes up to 2 characters per codeword. The compaction rules for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode switches are defined in 5.4.2.3. The text compaction data. The byte compaction data if there was a mode shift. The size of the text compaction and byte compaction data. The decoded data is appended to the result. Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded. This includes all ASCII characters value 0 to 127 inclusive and provides for international character set support. The byte compaction mode i.e. 901 or 924 The array of codewords (data + error) The current index into the codeword array. The decoded data is appended to the result. The next index into the codeword array. Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings. The array of codewords (data + error) The current index into the codeword array. The decoded data is appended to the result. The next index into the codeword array. Convert a list of Numeric Compacted codewords from Base 900 to Base 10. The array of codewords The number of codewords The decoded string representing the Numeric data. Add two numbers which are represented as strings. the result of value1 + value2

Implements decoding of the EAN-13 format.

erik.barbara@gmail.com (Erik Barbara) em@nerd.ocracy.org (Emanuele Aina) - Ported from ZXING Java Source

Decodes Code 39 barcodes. This does not support "Full ASCII Code 39" yet.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
These represent the encodings of characters, as patterns of wide and narrow bars. The 9 least-significant bits of each int correspond to the pattern of wide and narrow, with 1s representing "wide" and 0s representing narrow. Creates a reader that assumes all encoded data is data, and does not treat the final character as a check digit. It will not decoded "extended Code 39" sequences. Creates a reader that can be configured to check the last character as a check digit. It will not decoded "extended Code 39" sequences. if true, treat the last data character as a check digit, not data, and verify that the checksum passes. Creates a reader that can be configured to check the last character as a check digit, or optionally attempt to decode "extended Code 39" sequences that are used to encode the full ASCII character set. if true, treat the last data character as a check digit, not data, and verify that the checksum passes. if true, will attempt to decode extended Code 39 sequences in the text. This implementation can detect and decode multiple QR Codes in an image. Sean Owen Hannes Erven www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source This class attempts to decode a barcode from an image, not by scanning the whole image, but by scanning subsets of the image. This is important when there may be multiple barcodes in an image, and detecting a barcode may find parts of multiple barcode and fail to decode (e.g. QR Codes). Instead this scans the four quadrants of the image -- and also the center 'quadrant' to cover the case where a barcode is found in the center. Parses a "geo:" URI result, which specifies a location on the surface of the Earth as well as an optional altitude above the surface. See http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 自定义webconfig节点的item项 系统参数 获取参数 空接口,所有业务层的接口需继承该接口。 Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source {@link BitMatrix} to parse ReaderException if dimension is not >= 21 and 1 mod 4

Reads format information from one of its two locations within the QR Code.

{@link FormatInformation} encapsulating the QR Code's format info ReaderException if both format information locations cannot be parsed as the valid encoding of format information

Reads version information from one of its two locations within the QR Code.

{@link Version} encapsulating the QR Code's version ReaderException if both version information locations cannot be parsed as the valid encoding of version information

Reads the bits in the {@link BitMatrix} representing the finder pattern in the correct order in order to reconstitute the codewords bytes contained within the QR Code.

bytes encoded within the QR Code ReaderException if the exact number of bytes expected is not read

Encapsulates logic that can detect one or more QR Codes in an image, even if the QR Code is rotated or skewed, or partially obscured.

Sean Owen Hannes Erven www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
bbrown@google.com (Brian Brown) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Creates the version object based on the dimension of the original bit matrix from the datamatrix code.

See ISO 16022:2006 Table 7 - ECC 200 symbol attributes

Original {@link BitMatrix} including alignment patterns {@link Version} encapsulating the Data Matrix Code's "version" ReaderException if the dimensions of the mapping matrix are not valid Data Matrix dimensions.

Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns) in the correct order in order to reconstitute the codewords bytes contained within the Data Matrix Code.

bytes encoded within the Data Matrix Code ReaderException if the exact number of bytes expected is not read

Reads a bit of the mapping matrix accounting for boundary wrapping.

Row to read in the mapping matrix Column to read in the mapping matrix Number of rows in the mapping matrix Number of columns in the mapping matrix value of the given bit in the mapping matrix

Reads the 8 bits of the standard Utah-shaped pattern.

See ISO 16022:2006, 5.8.1 Figure 6

Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern Number of rows in the mapping matrix Number of columns in the mapping matrix byte from the utah shape

Reads the 8 bits of the special corner condition 1.

See ISO 16022:2006, Figure F.3

Number of rows in the mapping matrix Number of columns in the mapping matrix byte from the Corner condition 1

Reads the 8 bits of the special corner condition 2.

See ISO 16022:2006, Figure F.4

Number of rows in the mapping matrix Number of columns in the mapping matrix byte from the Corner condition 2

Reads the 8 bits of the special corner condition 3.

See ISO 16022:2006, Figure F.5

Number of rows in the mapping matrix Number of columns in the mapping matrix byte from the Corner condition 3

Reads the 8 bits of the special corner condition 4.

See ISO 16022:2006, Figure F.6

Number of rows in the mapping matrix Number of columns in the mapping matrix byte from the Corner condition 4

Extracts the data region from a {@link BitMatrix} that contains alignment patterns.

Original {@link BitMatrix} with alignment patterns BitMatrix that has the alignment patterns removed
Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Webconfig中的模板信息的配置子项 模板库的节点信息 构造函数 模板库名称,如Web、Mobile 获取某模板路径 模板名称 获取当前配置项的属性 设置当前使用的模板 当前模板的名称 模板对象 通过标识(文件夹名称)获取模板 标识(文件夹名称) 获取当前模样库的参数(即item设置中的子级item参数) key值 返回参数项的value值 通过模板库的名称进行排序 比较两个模拟名称的大值(按ascii) 前者为true,后者大为false 所有模板所处的根路径 默认模板库 公共模板库 配置项的key值 配置项的value 模板标识,用于网址路径,如m/xx.htm时,mobile模板的tag为m,则最终路径指向手机端 当前使用模板 当前模板分类下,所有可供选择的模板库

Implements decoding of the UPC-A format.

dswitkin@google.com (Daniel Switkin) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Implementations of this class can, given locations of finder patterns for a QR code in an image, sample the right points in the image to reconstruct the QR code, accounting for perspective distortion. It is abstracted since it is relatively expensive and should be allowed to take advantage of platform-specific optimized implementations, like Sun's Java Advanced Imaging library, but which may not be available in other environments such as J2ME, and vice versa. The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)} with an instance of a class which implements this interface. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Sets the implementation of {@link GridSampler} used by the library. One global instance is stored, which may sound problematic. But, the implementation provided ought to be appropriate for the entire platform, and all uses of this library in the whole lifetime of the JVM. For instance, an Android activity can swap in an implementation that takes advantage of native platform libraries. The platform-specific object to install.

Samples an image for a square matrix of bits of the given dimension. This is used to extract the black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode may be rotated or perspective-distorted, the caller supplies four points in the source image that define known points in the barcode, so that the image may be sampled appropriately.

The last eight "from" parameters are four X/Y coordinate pairs of locations of points in the image that define some significant points in the image to be sample. For example, these may be the location of finder pattern in a QR Code.

The first eight "to" parameters are four X/Y coordinate pairs measured in the destination {@link BitMatrix}, from the top left, where the known points in the image given by the "from" parameters map to.

These 16 parameters define the transformation needed to sample the image.

image to sample width/height of {@link BitMatrix} to sample from image {@link BitMatrix} representing a grid of points sampled from the image within a region defined by the "from" parameters ReaderException if image can't be sampled, for example, if the transformation defined by the given points is invalid or results in sampling outside the image boundaries

Checks a set of points that have been transformed to sample points on an image against the image's dimensions to see if the point are even within the image.

This method will actually "nudge" the endpoints back onto the image if they are found to be barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder patterns in an image where the QR Code runs all the way to the image border.

For efficiency, the method will check points from either end of the line until one is found to be within the image. Because the set of points are assumed to be linear, this is valid.

image into which the points should map actual points in x1,y1,...,xn,yn form ReaderException if an endpoint is lies outside the image boundaries
the current implementation of {@link GridSampler} 系统上传功能的各模块上传到服务器端的路径 获取参数 上传到根路径 系统平台的信息 平台名称 版本号 授权码 浏览器信息 判断是否是IP地址格式 0.0.0.0 待判断的IP地址 true or false 当前浏览器是否是手机浏览器 当前浏览器是否是微信浏览器 前端浏览器是否是微信小程序 前端浏览器是否是桌面应用 是否处于Apicloud打包的APP中 当前浏览器是否来自苹果手机 客户端IP 客户端的浏览器类型 客户端的浏览器的名称 客户端的浏览器的版本号 获取客户端的操作系统名称 获取手机操作系统; 获取手机号码(如果是手机访问),但是大多数通信商受限,无法获取 系统的版权信息,来自copyright.xml,用于代理商更改产品版权信息 获取版本信息 转换为json 信息集 如果获取不到,不要报错 用于记录日志 向日志文件写入调试信息 类名 要写入的内容 向日志文件写入信息 类名 要写入的内容 向日志文件出错信息 类名 要写入的内容 向日志文件出错信息 类名 错误信息 实际写日志的方法 日志类型 类名称 实际内容 日志等级,0.不输出日志;1.只输出错误信息; 2.输出错误和正常信息; 3.输出错误信息、正常信息和调试信息 See ISO 18004:2006 Annex D Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source See ISO 18004:2006 Annex D. Element i represents the raw version bits that specify version i + 7

Deduces version information purely from QR Code dimensions.

dimension in modules {@link Version} for a QR Code of that dimension ReaderException if dimension is not 1 mod 4
See ISO 18004:2006 Annex E See ISO 18004:2006 6.5.1 Table 9

Encapsulates a set of error-correction blocks in one symbol version. Most versions will use blocks of differing sizes within one version, so, this encapsulates the parameters for each set of blocks. It also holds the number of error-correction codewords per block since it will be the same across all blocks within one version.

Encapsualtes the parameters for one error-correction block in one symbol version. This includes the number of data codewords, and the number of times a block with these parameters is used consecutively in the QR code version's format.

Encapsulates logic that can detect a PDF417 Code in an image, even if the PDF417 Code is rotated or skewed, or partially obscured.

SITA Lab (kevin.osullivan@sita.aero) dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Detects a PDF417 Code in an image, simply.

{@link DetectorResult} encapsulating results of detecting a PDF417 Code ReaderException if no QR Code can be found

Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations.

optional hints to detector {@link DetectorResult} encapsulating results of detecting a PDF417 Code ReaderException if no PDF417 Code can be found
Locate the vertices and the codewords area of a black blob using the Start and Stop patterns as locators. Assumes that the barcode begins in the left half of the image, and ends in the right half. TODO: Fix this assumption, allowing the barcode to be anywhere in the image. TODO: Scanning every row is very expensive. We should only do this for TRY_HARDER. the scanned barcode image. an array containing the vertices: vertices[0] x, y top left barcode vertices[1] x, y bottom left barcode vertices[2] x, y top right barcode vertices[3] x, y bottom right barcode vertices[4] x, y top left codeword area vertices[5] x, y bottom left codeword area vertices[6] x, y top right codeword area vertices[7] x, y bottom right codeword area Locate the vertices and the codewords area of a black blob using the Start and Stop patterns as locators. This assumes that the image is rotated 180 degrees and if it locates the start and stop patterns at it will re-map the vertices for a 0 degree rotation. TODO: Change assumption about barcode location. TODO: Scanning every row is very expensive. We should only do this for TRY_HARDER. the scanned barcode image. an array containing the vertices: vertices[0] x, y top left barcode vertices[1] x, y bottom left barcode vertices[2] x, y top right barcode vertices[3] x, y bottom right barcode vertices[4] x, y top left codeword area vertices[5] x, y bottom left codeword area vertices[6] x, y top right codeword area vertices[7] x, y bottom right codeword area Because we scan horizontally to detect the start and stop patterns, the vertical component of the codeword coordinates will be slightly wrong if there is any skew or rotation in the image. This method moves those points back onto the edges of the theoretically perfect bounding quadrilateral if needed. The eight vertices located by findVertices().

Estimates module size (pixels in a module) based on the Start and End finder patterns.

an array of vertices: vertices[0] x, y top left barcode vertices[1] x, y bottom left barcode vertices[2] x, y top right barcode vertices[3] x, y bottom right barcode vertices[4] x, y top left codeword area vertices[5] x, y bottom left codeword area vertices[6] x, y top right codeword area vertices[7] x, y bottom right codeword area the module size.
Computes the dimension (number of modules in a row) of the PDF417 Code based on vertices of the codeword area and estimated module size. of codeword area of codeword area of codeword area of codeword are estimated module size the number of modules in a row. Ends up being a bit faster than Math.round(). This merely rounds its argument to the nearest int, where x.5 rounds up. row of black/white values to search x position to start search y position to start search the number of pixels to search on this row pattern of counts of number of black and white pixels that are being searched for as a pattern start/end horizontal offset of guard pattern, as an array of two ints. Determines how closely a set of observed counts of runs of black/white values matches a given target pattern. This is reported as the ratio of the total variance from the expected pattern proportions across all pattern elements, to the length of the pattern. observed counters expected pattern The most any counter can differ before we give up ratio of total variance between counters and pattern compared to total pattern size, where the ratio has been multiplied by 256. So, 0 means no variance (perfect match); 256 means the total variance between counters and patterns equals the pattern length, higher values mean even more variance dswitkin@google.com (Daniel Switkin) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

This is basically a substitute for java.util.Collections, which is not present in MIDP 2.0 / CLDC 1.1.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Sorts its argument (destructively) using insert sort; in the context of this package insertion sort is simple and efficient given its relatively small inputs. vector to sort comparator to define sort ordering Parses strings of digits that represent a UPC code. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source This class is the core bitmap class used by ZXing to represent 1 bit data. Reader objects accept a BinaryBitmap and attempt to decode it. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Returns a new object with rotated image data. Only callable if isRotateSupported() is true. A rotated version of this object. The width of the bitmap. The height of the bitmap. Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or may not apply sharpening. Therefore, a row from this matrix may not be identical to one fetched using getBlackRow(), so don't mix and match between them. The 2D array of bits for the image (true means black). Whether this bitmap can be cropped. Whether this bitmap supports counter-clockwise rotation. 去除HTML标签,并返回指定长度 将值转为指定的数据类型 DES加密字符串 需要加密的字符串 加密所用的Key 解密DES密码 要解密的字符串 解密的Key 加密RSA字符串 需要加密的字符串 加密所用的Key 解密RSA密码 要解密的字符串 解密的Key 加密字符为base64 加密字符为base64,并进行url编码 解密base64字符

See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which data can be encoded to bits in the QR code standard.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
four bits encoding a QR Code data mode {@link Mode} encoded by these bits IllegalArgumentException if bits do not correspond to a known mode version in question number of bits used, in this QR Code symbol {@link Version}, to encode the count of characters that will follow encoded in this {@link Mode} This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat requested and encodes the barcode with the supplied contents. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source MultiFormatReader is a convenience class and the main entry point into the library for most uses. By default it attempts to decode all barcode formats that the library supports. Optionally, you can provide a hints object to request different behavior, for example only decoding QR codes. Sean Owen dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly. Use setHints() followed by decodeWithState() for continuous scan applications. The pixel data to decode The contents of the image ReaderException Any errors which occurred Decode an image using the hints provided. Does not honor existing state. The pixel data to decode The hints to use, clearing the previous state. The contents of the image ReaderException Any errors which occurred Decode an image using the state set up by calling setHints() previously. Continuous scan clients will get a large speed increase by using this instead of decode(). The pixel data to decode The contents of the image ReaderException Any errors which occurred This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls to decodeWithState(image) can reuse the same set of readers without reallocating memory. This is important for performance in continuous scan clients. The set of hints to use for subsequent calls to decode(image) Partially implements the iCalendar format's "VEVENT" format for specifying a calendar event. See RFC 2445. This supports SUMMARY, DTSTART and DTEND fields. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 管理页面缓存 设置当前对象的值(来自config文件) 获取参数 缓存项的集合 写入静态化文件到硬盘的所在路径 静态文件路径 缓存的时间,单位:分钟 是否写入到硬盘 是否启用缓存 缓存项的Key值 缓存项的Value值 当前节点的父节点 通过网址来获取缓存像 来自Request.Url.PathAndQuery,即网址+参数 缓存项 缓存项的键值 缓存项的value,即参数项 缓存创建时间 缓存项的内容 授权的许可的验证处理类 构建对象 是否初始化 初始化 初始化本地授权信息 是否通过授权 在线授权认证 取系统的域名激活码 解析授权码的各项信息,并赋值到相关参数 解密Ascii编码; 将Ascii码转为字符串 解密DES密码 要解密的字符串 解密的Key 生成解密的Key 根据激码的类型 通过授权信息,设置各项值 已经解密过的授权信息 是否通过授权 读取系统的初始运行时间,如果不存在则写入 解密激活码的字符串 可以免费使用的时间,单位:小时 授权开始的时间 授权结束的时间 授权的主题主体信息,如CPU串号 认证信息中的端口,只有通过IP与域名认证时,才会有此信息 是否进行了在线申请 是否通过验证 是否拥有授权 授权信息 激活码类型 完整的授权信息,即从授权文件中读取的所有信息 版本等级 版本名称 当前版本的限制对象 限制项的数据集 服务器的域名 服务器的端口 学习系统开始运行的初始时间 学习系统累计运行时间 解析授权文件的时间 是否解析过授权文件 当根域授权时,限定的根域 获取系统参数 激活码类型 系统中的实体说明 当前实体是否显示 获取参数 通过键获取值的名称

Implements decoding of the UPC-E format.

This is a great reference for UPC-E information.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
The pattern that marks the middle, and end, of a UPC-E pattern. There is no "second half" to a UPC-E barcode. See {@link #L_AND_G_PATTERNS}; these values similarly represent patterns of even-odd parity encodings of digits that imply both the number system (0 or 1) used, and the check digit. Expands a UPC-E value back into its full, equivalent UPC-A code value. UPC-E code as string of digits equivalent UPC-A code as string of digits

A reader that can read all available UPC/EAN formats. If a caller wants to try to read all such formats, it is most efficient to use this implementation rather than invoke individual readers.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Decodes Code 128 barcodes.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Implements Reed-Solomon enbcoding, as the name implies.

Sean Owen William Rucklidge www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Recognizes an NDEF message that encodes information according to the "Smart Poster Record Type Definition" specification.

This actually only supports some parts of the Smart Poster format: title, URI, and action records. Icon records are not supported because the size of these records are infeasibly large for barcodes. Size and type records are not supported. Multiple titles are not supported.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Represents a result that encodes an e-mail address, either as a plain address like "joe@example.org" or a mailto: URL like "mailto:joe@example.org". Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 二维码操作类 生成二维码,默认是高容错图像 要生成的文本内容 二维码的宽高 二维码前景色 二维码背景色 批量生成二维码,默认是高容错图像 生成二维码,可以设置容错级别 二维码内容 容错级别,从低到高依次为:L、M、Q、H 生成带中心图片的二维码,默认是高容错图像 二维码内容 宽高 二维码中心图片的路径 前景色 背景色 批量生成带中心图片的二维码,默认是高容错图像 生成带中心图片的二维码,默认是高容错图像 二维码内容 宽高 二维码中心图片对象 前景色 背景色 批量生成带中心图片的二维码,默认是高容错图像 生成图片对象 前景色 背景色 读取二维码信息 图片对象 读取二维码信息 图片所在的物理路径 Contains conversion support elements such as classes, interfaces and static methods. Converts an array of sbytes to an array of bytes The array of sbytes to be converted The new array of bytes Converts a string to an array of bytes The string to be converted The new array of bytes Converts a array of object-type instances to a byte-type array. Array to convert. An array of byte type elements. Performs an unsigned bitwise right shift with the specified number Number to operate on Ammount of bits to shift The resulting number from the shift operation Performs an unsigned bitwise right shift with the specified number Number to operate on Ammount of bits to shift The resulting number from the shift operation Performs an unsigned bitwise right shift with the specified number Number to operate on Ammount of bits to shift The resulting number from the shift operation Performs an unsigned bitwise right shift with the specified number Number to operate on Ammount of bits to shift The resulting number from the shift operation This method returns the literal value received The literal to return The received value This method returns the literal value received The literal to return The received value This method returns the literal value received The literal to return The received value This method returns the literal value received The literal to return The received value Copies an array of chars obtained from a String into a specified array of chars The String to get the chars from Position of the String to start getting the chars Position of the String to end getting the chars Array to return the chars Position of the destination array of chars to start storing the chars An array of chars Sets the capacity for the specified ArrayList The ArrayList which capacity will be set The new capacity value Receives a byte array and returns it transformed in an sbyte array Byte array to process The transformed array The purpose of this class hierarchy is to abstract different bitmap implementations across platforms into a standard interface for requesting greyscale luminance values. The interface only provides immutable methods; therefore crop and rotation create copies. This is to ensure that one Reader does not modify the original luminance source and leave it in an unknown state for other Readers in the chain. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Returns a new object with rotated image data. Only callable if isRotateSupported() is true. A rotated version of this object. The width of the bitmap. The height of the bitmap. Whether this subclass supports cropping. Whether this subclass supports counter-clockwise rotation. Callback which is invoked when a possible result point (significant point in the barcode image such as a corner) is found. Represents some type of metadata about the result of the decoding that the decoder wishes to communicate back to the caller. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Unspecified, application-specific metadata. Maps to an unspecified {@link Object}. Denotes the likely approximate orientation of the barcode in the image. This value is given as degrees rotated clockwise from the normal, upright orientation. For example a 1D barcode which was found by reading top-to-bottom would be said to have orientation "90". This key maps to an {@link Integer} whose value is in the range [0,360).

2D barcode formats typically encode text, but allow for a sort of 'byte mode' which is sometimes used to encode binary data. While {@link Result} makes available the complete raw bytes in the barcode for these formats, it does not offer the bytes from the byte segments alone.

This maps to a {@link java.util.Vector} of byte arrays corresponding to the raw bytes in the byte segments in the barcode, in order.

Error correction level used, if applicable. The value type depends on the format, but is typically a String.

See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels defined by the QR code standard.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
L = ~7% correction M = ~15% correction Q = ~25% correction H = ~30% correction int containing the two bits encoding a QR Code's error correction level {@link ErrorCorrectionLevel} representing the encoded error correction level This implementation can detect and decode PDF417 codes in an image. SITA Lab (kevin.osullivan@sita.aero) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Locates and decodes a PDF417 code in an image. a String representing the content encoded by the PDF417 code ReaderException if a PDF417 code cannot be found, or cannot be decoded This method detects a barcode in a "pure" image -- that is, pure monochrome image which contains only an unrotated, unskewed, image of a barcode, with some white border around it. This is a specialized method that works exceptionally fast in this special case.

Implements decoding of the ITF format.

"ITF" stands for Interleaved Two of Five. This Reader will scan ITF barcode with 6, 10 or 14 digits. The checksum is optional and is not applied by this Reader. The consumer of the decoded value will have to apply a checksum if required.

http://en.wikipedia.org/wiki/Interleaved_2_of_5 is a great reference for Interleaved 2 of 5 information.

kevin.osullivan@sita.aero, SITA Lab. www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Start/end guard pattern. Note: The end pattern is reversed because the row is reversed before searching for the END_PATTERN Patterns of Wide / Narrow lines to indicate each digit row of black/white values to search offset of start pattern {@link StringBuffer} to append decoded chars to ReaderException if decoding could not complete successfully Identify where the start of the middle / payload section starts. row of black/white values to search Array, containing index of start of 'start block' and end of 'start block' ReaderException Skip all whitespace until we get to the first black line. row of black/white values to search index of the first black line. ReaderException Throws exception if no black lines are found in the row Identify where the end of the middle / payload section ends. row of black/white values to search Array, containing index of start of 'end block' and end of 'end block' ReaderException row of black/white values to search position to start search pattern of counts of number of black and white pixels that are being searched for as a pattern start/end horizontal offset of guard pattern, as an array of two ints ReaderException if pattern is not found Attempts to decode a sequence of ITF black/white lines into single digit. the counts of runs of observed black/white/black/... values The decoded digit ReaderException if digit cannot be decoded

This class contains utility methods for performing mathematical operations over the Galois Field GF(256). Operations use a given primitive polynomial in calculations.

Throughout this package, elements of GF(256) are represented as an int for convenience and speed (but at the cost of memory). Only the bottom 8 bits are really used.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Create a representation of GF(256) using the given primitive polynomial. irreducible polynomial whose coefficients are represented by the bits of an int, where the least-significant bit represents the constant coefficient the monomial representing coefficient * x^degree Implements both addition and subtraction -- they are the same in GF(256). sum/difference of a and b 2 to the power of a in GF(256) base 2 log of a in GF(256) multiplicative inverse of a product of a and b in GF(256)

A somewhat generic detector that looks for a barcode-like rectangular region within an image. It looks within a mostly white region of an image for a region of black and white, but mostly black. It returns the four corners of the region, as best it can determine.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Detects a rectangular region of black and white -- mostly black -- with a region of mostly white, in an image.

{@link ResultPoint}[] describing the corners of the rectangular region. The first and last points are opposed on the diagonal, as are the second and third. The first point will be the topmost point and the last, the bottommost. The second point will be leftmost and the third, the rightmost ReaderException if no Data Matrix Code can be found
Attempts to locate a corner of the barcode by scanning up, down, left or right from a center point which should be within the barcode. center's x component (horizontal) same as deltaY but change in x per step instead minimum value of x maximum value of x center's y component (vertical) change in y per step. If scanning up this is negative; down, positive; left or right, 0 minimum value of y to search through (meaningless when di == 0) maximum value of y maximum run of white pixels that can still be considered to be within the barcode a {@link com.google.zxing.ResultPoint} encapsulating the corner that was found com.google.zxing.ReaderException if such a point cannot be found Computes the start and end of a region of pixels, either horizontally or vertically, that could be part of a Data Matrix barcode. if scanning horizontally, this is the row (the fixed vertical location) where we are scanning. If scanning vertically it's the column, the fixed horizontal location largest run of white pixels that can still be considered part of the barcode region minimum pixel location, horizontally or vertically, to consider maximum pixel location, horizontally or vertically, to consider if true, we're scanning left-right, instead of up-down int[] with start and end of found range, or null if no such range is found (e.g. only white was found) Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

This provides an easy abstraction to read bits at a time from a sequence of bytes, where the number of bits read is not often a multiple of 8.

This class is thread-safe but not reentrant. Unless the caller modifies the bytes array it passed in, in which case all bets are off.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
bytes from which this will read bits. Bits will be read from the first byte first. Bits are read within a byte from most-significant to least-significant bit. number of bits to read int representing the bits read. The bits will appear as the least-significant bits of the int IllegalArgumentException if numBits isn't in [1,32] number of bits that can be read successfully Parses the "URLTO" result format, which is of the form "URLTO:[title]:[url]". This seems to be used sometimes, but I am not able to find documentation on its origin or official format? Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 获取访问者的地理位置,可以通过GPS与IP 通过IP获取地理位置的构造 通过GPS信息获取地理位置 百度经度坐标 百度纬度坐标 通过地址,获取地理位置信息 结果类型,1为xml,2为json 通过IP获取地理位置的方法 去除非汉字 Unicode转GB字符串 解析json信息 当前访问者的客户端IP地址 当前访问者所在的纬度 当前访问者所在的经度 当前访问者所在的省份信息 当前访问者所在的城市信息 当前访问者所在的区县信息 当前访问者所在的街道 当前访问者所在的门牌号 生成缩略图,非变形剪切; 原文件地址 缩略图文件地址 约束对象,1为按度约束,高度按宽的比较计算;2为按高约束;0为自适应 图片叠加,例如生成水印图片 原文件地址 要叠加的图片文件地址 图片文件叠加 原文件 要叠加的文字 叠加的位置 图片缩放,强制大小尺寸 图片缩放,强制大小尺寸 是否允许变形,如果不允许,则会剪切图形; 将图片文件转为Iamge对象 图片文件转Base64,如果在网页中引用,请加上data:image/jpeg;base64,

Encapsulates the result of decoding a barcode within an image.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
raw text encoded by the barcode, if applicable, otherwise null raw bytes encoded by the barcode, if applicable, otherwise null points related to the barcode in the image. These are typically points identifying finder patterns or the corners of the barcode. The exact meaning is specific to the type of barcode that was decoded. {@link BarcodeFormat} representing the format of the barcode that was decoded {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be null. This contains optional metadata about what was detected about the barcode, like orientation.

Encapsulates the result of decoding a matrix of bits. This typically applies to 2D barcode formats. For now it contains the raw bytes obtained, as well as a String interpretation of those bytes, if applicable.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 页面跳转,如果是手机端访问电脑端,则跳转到指定手机端,通过web.config中的skip配置项 初始化 通过web页,获取对应的mobile web页 mobile页 通过mobile页,获取对应的web页 mobile页 web页 返回跳转的页面 返回跳转的页面 是否是手机端 获取参数 配置项 身份证号码解析与生成 获取区域信息 解析身份证信息 校验身份证号码是否合法 随机生成一个身份证号 批量生成身份证 生成随身份证号 随机数种子 解析身份证 所在省份信息 所在地区信息 所在区县信息 出生日期 年龄 性别,1为男,2为女 身份证号码 生成Javascript对象; 当前版本的等级 获取版本名称 获取当前版本等级的各项限制 版本等级 版本等级信息 各版本的限制项 所有版本等级的各项数据组成的表 系统参数 获取参数 应用程序版本号 缓存数据,以减少对数据库的读取次数 缓存集 构造缓存 缓存名称 缓存名称 缓存的数据集 缓存的数据集 构造缓存 缓存类型 构造缓存 添加缓存对象 按索引删除缓存对象 删除索引对象 更新 清理所有缓存对象 填充缓存数据 刷新数据 被缓存的数据集,列表形式存放 被缓存的数据集,数组形式存放 satorux@google.com (Satoru Takabayashi) - creator dswitkin@google.com (Daniel Switkin) - ported from C++ www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source JAVAPORT: This should be combined with BitArray in the future, although that class is not yet dynamically resizeable. This implementation is reasonable but there is a lot of function calling in loops I'd like to get rid of. satorux@google.com (Satoru Takabayashi) - creator dswitkin@google.com (Daniel Switkin) - ported from C++ www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting the Data Matrix Code from an image.

bbrown@google.com (Brian Brown) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Convenience method that can decode a Data Matrix Code represented as a 2D array of booleans. "true" is taken to mean a black module.

booleans representing white/black Data Matrix Code modules text and bytes encoded within the Data Matrix Code ReaderException if the Data Matrix Code cannot be decoded

Decodes a Data Matrix Code represented as a {@link BitMatrix}. A 1 or "true" is taken to mean a black module.

booleans representing white/black Data Matrix Code modules text and bytes encoded within the Data Matrix Code ReaderException if the Data Matrix Code cannot be decoded

Given data and error-correction codewords received, possibly corrupted by errors, attempts to correct the errors in-place using Reed-Solomon error correction.

data and error correction codewords number of codewords that are data bytes ReaderException if error correction fails

This class implements a perspective transform in two dimensions. Given four source and four destination points, it will compute the transformation implied between them. The code is based directly upon section 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
Convenience method, not optimized for performance. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source RFC 2445 allows the start and end fields to be of type DATE (e.g. 20081021) or DATE-TIME (e.g. 20081021T123000 for local time, or 20081021T123000Z for UTC). The string to validate satorux@google.com (Satoru Takabayashi) - creator dswitkin@google.com (Daniel Switkin) - ported from C++ www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source satorux@google.com (Satoru Takabayashi) - creator dswitkin@google.com (Daniel Switkin) - ported from C++ www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Encode "bytes" with the error correction level "ecLevel". The encoding mode will be chosen internally by chooseMode(). On success, store the result in "qrCode". We recommend you to use QRCode.EC_LEVEL_L (the lowest level) for "getECLevel" since our primary use is to show QR code on desktop screens. We don't need very strong error correction for this purpose. Note that there is no way to encode bytes in MODE_KANJI. We might want to add EncodeWithMode() with which clients can specify the encoding mode. For now, we don't need the functionality. the code point of the table used in alphanumeric mode or -1 if there is no corresponding code in the table. Choose the best mode by examining the content. Note that 'encoding' is used as a hint; if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}. Initialize "qrCode" according to "numInputBytes", "ecLevel", and "mode". On success, modify "qrCode". Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24). Get number of data bytes and number of error correction bytes for block id "blockID". Store the result in "numDataBytesInBlock", and "numECBytesInBlock". See table 12 in 8.5.1 of JISX0510:2004 (p.30) Interleave "bits" with corresponding error correction bytes. On success, store the result in "result". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details. Append mode info. On success, store the result in "bits". Append length info. On success, store the result in "bits". Append "bytes" in "mode" mode (encoding) into "bits". On success, store the result in "bits".

The main class which implements PDF417 Code decoding -- as opposed to locating and extracting the PDF417 Code from an image.

SITA Lab (kevin.osullivan@sita.aero) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Convenience method that can decode a PDF417 Code represented as a 2D array of booleans. "true" is taken to mean a black module.

booleans representing white/black PDF417 modules text and bytes encoded within the PDF417 Code ReaderException if the PDF417 Code cannot be decoded

Decodes a PDF417 Code represented as a {@link BitMatrix}. A 1 or "true" is taken to mean a black module.

booleans representing white/black PDF417 Code modules text and bytes encoded within the PDF417 Code ReaderException if the PDF417 Code cannot be decoded
Verify that all is OK with the codeword array. an index to the first data codeword. ReaderException

Given data and error-correction codewords received, possibly corrupted by errors, attempts to correct the errors in-place using Reed-Solomon error correction.

data and error correction codewords ReaderException if error correction fails
Recognizes an NDEF message that encodes text according to the "Text Record Type Definition" specification. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 用于处理上传路径的类 根目录 获取文件夹大小 文件夹路径 返回文件夹大小 ,单位字节 获取模版的大小,转换单位mb或kb 删除当前文件夹下的文件,如果有缩略图,同时删除缩略图 上传成功,则返回1;否则返回0 物理路径 虚拟路径 原始值,即直接从web.config读取来的,未处理的值 获取文件夹大小 文件夹路径 返回文件夹大小 ,单位字节

Encapsulates a finder pattern, which are the three square patterns found in the corners of QR Codes. It also encapsulates a count of similar finder patterns, as a convenience to the finder's bookkeeping.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source

Determines if this finder pattern "about equals" a finder pattern at the stated position and size -- meaning, it is at nearly the same center with nearly the same size.

Creates a finder that will look in a portion of the whole image.

image to search left column from which to start searching top row from which to start searching width of region to search height of region to search estimated module size so far

This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since it's pretty performance-critical and so is written to be fast foremost.

{@link AlignmentPattern} if found ReaderException if not found
Given a count of black/white/black pixels just seen and an end position, figures the location of the center of this black/white/black run. count of black/white/black pixels just read true iff the proportions of the counts is close enough to the 1/1/1 ratios used by alignment patterns to be considered a match

After a horizontal scan finds a potential alignment pattern, this method "cross-checks" by scanning down vertically through the center of the possible alignment pattern to see if the same proportion is detected.

row where an alignment pattern was detected center of the section that appears to cross an alignment pattern maximum reasonable number of modules that should be observed in any reading state, based on the results of the horizontal scan vertical center of alignment pattern, or {@link Float#NaN} if not found

This is called when a horizontal scan finds a possible alignment pattern. It will cross check with a vertical scan, and if successful, will see if this pattern had been found on a previous horizontal scan. If so, we consider it confirmed and conclude we have found the alignment pattern.

reading state module counts from horizontal scan row where alignment pattern may be found end of possible alignment pattern in row {@link AlignmentPattern} if we have found the same pattern twice, or null if not

This class parses the BitMatrix image into codewords.

SITA Lab (kevin.osullivan@sita.aero) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
To ensure separability of rows, codewords of consecutive rows belong to different subsets of all possible codewords. This routine scans the symbols in the barcode. When it finds a number of consecutive rows which are the same, it assumes that this is a row of codewords and processes them into a codeword array. an array of codewords. Trim the array to the required size. the array the size to trim it to the new trimmed array Convert the symbols in the row to codewords. Each PDF417 symbol character consists of four bar elements and four space elements, each of which can be one to six modules wide. The four bar and four space elements shall measure 17 modules in total. an array containing the counts of black pixels for each column in the row. the current row number of codewords. the height of this row in pixels. the codeword array to save codewords into. the next available index into the codewords array. the next available index into the codeword array after processing this row. Translate the symbol into a codeword. the codeword corresponding to the symbol. Use a binary search to find the index of the codeword corresponding to this symbol. the symbol from the barcode. the index into the codeword table. The sorted table of all possible symbols. Extracted from the PDF417 specification. The index of a symbol in this table corresponds to the index into the codeword table. This table contains to codewords for all symbols. Returns an array of locations representing the erasures. These are a set of hints that you may pass to Writers to specify their behavior. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Specifies what degree of error correction to use, for example in QR Codes (type Integer). Specifies what character encoding to use where applicable (type String)

Thrown when an exception occurs during Reed-Solomon decoding, such as when there are too many errors to correct.

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
This class implements an array of unsigned bytes. dswitkin@google.com (Daniel Switkin) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Access an unsigned byte at location index. The index in the array to access. The unsigned value of the byte as an int. Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Transforms a string that represents a URI into something more proper, by adding or canonicalizing the protocol. true if the URI contains suspicious patterns that may suggest it intends to mislead the user about its true nature. At the moment this looks for the presence of user/password syntax in the host/authority portion of a URI which may be used in attempts to make the URI's host appear to be other than it is. Example: http://yourbank.com@phisher.com This URI connects to phisher.com but may appear to connect to yourbank.com at first glance.

Represents a record in an NDEF message. This class only supports certain types of records -- namely, non-chunked records, where ID length is omitted, and only "short records".

Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
jbreiden@google.com (Jeff Breidenbach) www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source Implements the "MECARD" address book entry format. Supported keys: N, SOUND, TEL, EMAIL, NOTE, ADR, BDAY, URL, plus ORG Unsupported keys: TEL-AV, NICKNAME Except for TEL, multiple values for keys are also not supported; the first one found takes precedence. Our understanding of the MECARD format is based on this document: http://www.mobicode.org.tw/files/OMIA%20Mobile%20Bar%20Code%20Standard%20v3.2.1.doc Sean Owen www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 系统模板信息 配置项的节点名称 根据分类返回指定类型的模版库 模板库分类名称,如Web、Mobile 获取模板库 模板类型,如web,mobi 模板库的标识,即文件夹名称 获取所有模板库 刷新模板信息 所有模板配置项 电脑网页模板的集合 手机网页的模板的集合 模板所处的根文件夹 是否精简模样html代码(去掉换行、空格、注释等) 模板的默认首页 获取各种参数,如QueryString、Form、Cookies、Session等 获取属性的值 类型名称 对象 属性 构造字符串类的参数,如post,get,cookies,session等 构造控件类的参数,如TextBox 生成随机数 生成随机字符串,可以选择长度与类型 随机字符串的长度 生成的随机数类型,0为数字与大小写字母,1为纯数字,2为纯小字母,3为纯大写字母,4为大小写字母,5数字加小写,6数字加大写, 生成唯一标识 路径的操作 通过经纬度获取访问者的地理信息 经度 纬度 获取模版的大小,转换单位mb或kb 获取网页的返回结果 网址 Post方式获取网页的返回结果 网址 json格式参数 Post方式获取网页的返回结果 下载文件 文件网址 本地路径 获取 HTTP 查询字符串变量集合 获取窗体变量集合 获取客户端发送的 cookie 的集合 获取 ASP.NET 提供的当前 Session 对象 获取当前页面的信息 返回QueryString参数 当前页的Web控件 当访问的IP信息,包括其地理信息 获取版本信息