internal DmtxEncode() { this._scheme = DmtxScheme.DmtxSchemeAscii; this._sizeIdxRequest = DmtxSymbolSize.DmtxSymbolSquareAuto; this._marginSize = 10; this._moduleSize = 5; this._pixelPacking = DmtxPackOrder.DmtxPack24bppRGB; this._imageFlip = DmtxFlip.DmtxFlipNone; this._rowPadBytes = 0; }
private DmtxEncode(DmtxEncode src) { this._scheme = src._scheme; this._sizeIdxRequest = src._sizeIdxRequest; this._marginSize = src._marginSize; this._moduleSize = src._moduleSize; this._pixelPacking = src._pixelPacking; this._imageFlip = src._imageFlip; this._rowPadBytes = src._rowPadBytes; this._image = src._image; this._message = src._message; this._method = src._method; this._region = src._region; }
internal DmtxImage(byte[] pxl, int width, int height, DmtxPackOrder pack) { _bitsPerChannel = new int[4]; _channelStart = new int[4]; if (pxl == null || width < 1 || height < 1) { throw new ArgumentException("Cannot create image of size null"); } this._pxl = pxl; this._width = width; this._height = height; this._pixelPacking = pack; this._bitsPerPixel = DmtxCommon.GetBitsPerPixel(pack); this._bytesPerPixel = this._bitsPerPixel / 8; this._rowPadBytes = 0; this._rowSizeBytes = this._width * this._bytesPerPixel + this._rowPadBytes; this._imageFlip = DmtxFlip.DmtxFlipNone; /* Leave channelStart[] and bitsPerChannel[] with zeros from calloc */ this._channelCount = 0; switch (pack) { case DmtxPackOrder.DmtxPackCustom: break; case DmtxPackOrder.DmtxPack1bppK: throw new ArgumentException("Cannot create image: not supported pack order!"); case DmtxPackOrder.DmtxPack8bppK: SetChannel(0, 8); break; case DmtxPackOrder.DmtxPack16bppRGB: case DmtxPackOrder.DmtxPack16bppBGR: case DmtxPackOrder.DmtxPack16bppYCbCr: SetChannel(0, 5); SetChannel(5, 5); SetChannel(10, 5); break; case DmtxPackOrder.DmtxPack24bppRGB: case DmtxPackOrder.DmtxPack24bppBGR: case DmtxPackOrder.DmtxPack24bppYCbCr: case DmtxPackOrder.DmtxPack32bppRGBX: case DmtxPackOrder.DmtxPack32bppBGRX: SetChannel(0, 8); SetChannel(8, 8); SetChannel(16, 8); break; case DmtxPackOrder.DmtxPack16bppRGBX: case DmtxPackOrder.DmtxPack16bppBGRX: SetChannel(0, 5); SetChannel(5, 5); SetChannel(10, 5); break; case DmtxPackOrder.DmtxPack16bppXRGB: case DmtxPackOrder.DmtxPack16bppXBGR: SetChannel(1, 5); SetChannel(6, 5); SetChannel(11, 5); break; case DmtxPackOrder.DmtxPack32bppXRGB: case DmtxPackOrder.DmtxPack32bppXBGR: SetChannel(8, 8); SetChannel(16, 8); SetChannel(24, 8); break; case DmtxPackOrder.DmtxPack32bppCMYK: SetChannel(0, 8); SetChannel(8, 8); SetChannel(16, 8); SetChannel(24, 8); break; default: throw new ArgumentException("Cannot create image: Invalid Pack Order"); } }