test
Generador e intérprete de QR Code
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INGENIERÍA INFORMÁTICA
GENERADOR E INTERPRETE QR CODE
Realizado por:
Ginés Miguel Fernández Ordóñez
Dirigido por:
José Ramón Portillo Fernández
Departamento de
MATEMÁTICA APLICADA I
Sevilla, Diciembre de 2009
0
Ginés Miguel Fernández OrdóñezGenerador e intérprete de QR Code
Índice
0. ¿Qué es QR Code?............................................................................ 5
1. Definición de objetivos……………………………………………………….. 9
2. Resumen del estándar QR Code..………………………………………… 12
2.1 Términos y definiciones del estándar……………………………………………………. 12
2.2 Características principales…………………………………………………………………….15
2.3 Estructura delsímbolo………………………………………………………………………….. 16
2.4 Codificación de un QR Code…………………………………………………………………… 21
2.4.1 Análisis de los datos……………………………………………………………….. 22
2.4.2 Codificación de los datos………………………………………………………. 23
2.4.2.1 Conversión de bits de datos a codewords………………………… 25
2.4.3 Corrección de errores…………………………………………………………… 29
2.4.4 Construir la secuencia final de Codewords……………………….. 37
2.4.5Colocación de Codewords en la matriz………………………………… 37
2.4.6 Enmascarar los datos…………………………………………………………….. 39
2.4.7 Información de formato……………………………………….…………………. 41
2.4.8 Información de versión……………………………………………………………. 42
2.5 Decodificación de un QR Code………………………………………………………………. 43
3. Análisis de antecedentes y aportación realizada…………….. 48
4. Análisis de requisitos…………………………………………………………… 51
1Ginés Miguel Fernández Ordóñez
Generador e intérprete de QR Code
5. Diseño de la aplicación…………………………………………………………58
5.1 Diseño de la interfaz gráfica…………………………………………………………………..59
5.2 Diseño de la Librería………………………………………………………………………………… 63
6. Implementación de la aplicación…………………………………………. 65
6.1 Paquetes……………………………………………………………………………………………………. 65
6.2 Listado declases……………………………………………………………………………………....66
6.2.1 Clase QRCodeEncoderDecoderGUI……………………………………….68
6.2.2 Clase QRCodeDecoder…………………………………………………………… 74
6.2.3 Clase QRCodeEncoder…………………………………………………………… 79
6.2.4 Interface QRCodeImage…………………………………………………………… 86
6.2.5 Clase QRCodeConstantes……………………………………………………… 87
6.2.6 Clase QRCodeSymbol……………………………………………………………… 89
6.2.7 Clase BCH15_5…………………………………………………………………………. 96
6.2.8 ClaseEncodingFailedException……………………………………………..100
6.2.9 Clase DecodingFailedException……………………………………………..102
6.2.10 Clase Axis…………………………………………………………………………………103
6.2.11 Clase Line……………………………………………………………………………….. 105
6.2.12 Clase Point……………………………………………………………………………… 109
6.2.13 Clase SamplingGrid……………………………………………………………….. 113
6.2.14 Clase AlignmentPattern……………………………………………………….. 117
6.2.15 ClaseFinderPattern……………………………………………………………… 120
6.2.16 Clase LogicalSeed…………………………………………………………………. 126
6.2.17 Clase QRCodeDataBlockReader………………………………………….128
6.2.18 Clase QRCodeImageReader………………………………………………….. 132
6.2.19 Interface Color…………………………………………………………………….. 138
6.2 Interface DebugCanvas……………………………………………………………….141
6.2 Clase ConsoleCanvas………………………………………………………………… 142
6.2 ClaseContentConverter……………………………………………………………144
6.2 Clase QRCodeUtility…………………………………………………………………… 146
2
Ginés Miguel Fernández Ordóñez
Generador e intérprete de QR Code
7. Instalación previa………………………………………………………………150
8. Manual de usuario…..……………………………………………………………. 153
9. Pruebas………………………………………………………………………………….. 160
10. Comparación con otras alternativas……………………………… 168
11. Posibles mejoras ………………………………………………………………..179
12.Conclusiones………………..……………………………………………………. 183
13. Costes de desarrollo y Análisis temporal………………………186
13. Bibliografía…………………………………………………………………………. 190
3
Ginés Miguel Fernández Ordóñez
Generador e intérprete de QR Code
4
Ginés Miguel Fernández Ordóñez
Generador e intérprete de QR Code
0. ¿Qué es QR Code?
QR Code o...
Regístrate para leer el documento completo.