REFERENCIA
/
TÉCNICA
Documentación Técnica
Detalles sobre la inyección de gráficos (GDI+) y el cliente Supabase.
§ 01
Motor de Generación Gráfica (GDI+)
Ubicado en Generator.cs, responsable del dibujado en la plantilla JPG.
| Componente | Técnica / Detalle |
|---|---|
| System.Drawing.Graphics | Carga la plantilla en memoria y aplica SmoothingMode.AntiAlias y TextRenderingHint.AntiAliasGridFit para suavizado. |
| Inyección de Texto | Utiliza tamaños y posiciones relativas a la resolución original (ej. absX = width * RelX) para garantizar que las coordenadas no se rompan con resoluciones variables. |
| QRCoder | Genera códigos QR ECC Level L apuntando a https://new.liceotpggm.cl/diplomas/?codigo={UID} y los incrusta directamente en la imagen, agregando una leyenda "Valida aquí tu certificado". |
| Codificador JPEG | Fuerza una calidad de 95L al guardar usando EncoderParameters para evitar compresión y artefactos en la impresión. |
§ 02
Integración con Supabase
Mapeo de base de datos a través de DbClient.cs.
ORM
postgrest-csharp
Se decora la clase
DiplomaModel con atributos [Table("diplomas")] y [Column("nombre")] para auto-mapear el objeto C# a la tabla relacional de PostgreSQL.Database
Async
Supabase.Client
La conexión se inicializa con
AutoConnectRealtime = false para evitar levantar websockets innecesarios, enfocándose puramente en inserciones REST unidireccionales.Network
§ 03
Frontend (WPF)
La UI construida en XAML.
| Archivo | Responsabilidad |
|---|---|
MainWindow.xaml |
Interfaz de formulario, barra de progreso y previsualización. |
MainWindow.xaml.cs |
Llamadas asíncronas a Generator.CreateDiplomaAsync y DbClient.RegisterDiplomaAsync. |