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.