public virtual QRCodeSymbol getQRCodeSymbolWithAdjustedGrid(Point adjust) { if (bitmap == null || samplingGrid == null) { throw new SystemException("This method must be called after QRCodeImageReader.getQRCodeSymbol() called"); } samplingGrid.adjust(adjust); canvas.println("Sampling grid adjusted d(" + adjust.X + "," + adjust.Y + ")"); bool[][] array = null; try { array = getQRCodeMatrix(bitmap, samplingGrid); } catch (IndexOutOfRangeException) { throw new SymbolNotFoundException("Sampling grid exceeded image boundary"); } return(new QRCodeSymbol(array)); }