Visor de imágenes premium nativo para Windows (C++ / Win32) con interfaz acrílica moderna, renderizado de máxima fidelidad (GDI+, WIC, stb_image), orientación EXIF automática, soporte para transparencias y consumo ultra-ligero de recursos (RAM ≤ 80MB).
⬇ Descargar el instalador autocontenido · ZIP portable · Web y documentación · Arquitectura del auto-actualizador
- Interfaz Glassmorphism/Acrílica: Diseño moderno con efectos de transparencia, blur premium y colores vibrantes inspirados en Windows 11
- Renderizado de Máxima Calidad: Interpolación bicúbica de alta precisión con modo de envoltura clamp y modo 1:1 pixel-perfect
- Ultra-Claridad HDR: Modo de realce de detalles finos y micro-contraste
- Zoom Extendido Ultra Suave: Animación logarítmica sin saltos, pivote bajo el cursor, sin recentrado ni límites prácticos (0.5%–51200%), con nitidez píxel-perfecto en escalas enteras
- Fondo Ajedrezado Inteligente: Visualización clara de transparencias en PNG, WebP, ICO y GIF
- Orientación EXIF Automática: Detecta y corrige la orientación de fotos de móviles y cámaras
- Navegación Avanzada: Flechas ↑↓ para zoom, ←→ para imágenes, arrastrar para pan
- Instalador Autocontenido: Wizard GDI+ pitch-black con consola de log en vivo y payload incrustado (un solo
.exedistribuible) - Auto-Actualizador Integrado: Comprueba GitHub Releases una vez al día en segundo plano, notifica con una ventana flotante y actualiza con un clic (descarga verificada por SHA-256)
- Consumo Ultra-Ligero: Huella de memoria optimizada (RAM < 80 MB, CPU ~0%)
- stb_image: JPG, PNG, BMP, GIF, TGA, PSD, HDR, PIC, PNM/PPM/PGM
- WIC (Windows Imaging Component): TIFF, ICO, WebP, HEIC/HEIF, AVIF, JPEG-XR/WDP y RAW (CR2, NEF, ARW, DNG, etc.)
- GDI+: TIFF, EMF, WMF y códecs del sistema
| Acción | Atajo |
|---|---|
| Navegación | |
| Siguiente imagen | →, Espacio, botón ▶ |
| Imagen anterior | ←, Retroceso, botón ◀ |
| Zoom in | ↑, Rueda arriba, + |
| Zoom out | ↓, Rueda abajo, - |
| Pausar / reproducir GIF | P |
| Primera / última | Inicio / Fin |
| Visualización | |
| Ajustar a ventana | F o botón Ajustar |
| Tamaño real (100%) | 1 o 0 |
| Pantalla completa | F11 o doble clic (ESC para salir) |
| Transformaciones | |
| Rotar 90° | R (Shift+R antihorario) |
| Volteo horizontal | H |
| Volteo vertical | V |
| Efectos | |
| Ultra-Claridad HDR | D |
| Escala de grises | G |
| Invertir colores | N |
| Sistema | |
| Modo presentación | F5 |
| Eliminar a papelera | Supr |
| Mostrar en Explorador | Ctrl + E |
| Copiar imagen | Ctrl + C |
| Copiar ruta | Ctrl + Shift + C |
| Abrir archivo | Ctrl + O |
| Abrir carpeta | Ctrl + Shift + O |
| Otros | |
| Panorámica (Pan) | Clic izquierdo + arrastrar |
| Menú contextual | Clic derecho |
| Ayuda | F1 |
powershell -ExecutionPolicy Bypass -File build.ps1build.batmake # pipeline completo
make test # tests + gate de política SIMD
make bench # banco de kernels (ns/píxel y ancho de banda)build_mingw.batpowershell -ExecutionPolicy Bypass -File scripts\verify.ps1 -BenchTodos los pipelines fijan el baseline SIMD con /arch:SSE4.2 (MSVC) o -msse4.2
(MinGW) y ejecutan tests/check_simd_policy.py, que falla el build si aparece
cualquier token capaz de activar AVX o si las identidades enteras del núcleo de
imagen dejan de ser exactas.
Los tres scripts compilan y ejecutan además la suite de tests y fuzzing
(tests\image_core_test.cpp para el núcleo SIMD/LUT y
tests\release_json_fuzzer.cpp para el parser JSON del actualizador) como
paso [3b/5], junto con el selftest del updater — cualquier fallo aborta el
build antes de empaquetar. Ver BUILD.md para ejecutarlos por separado.
Después de la compilación exitosa en dist\:
artpicst.exe- Programa principal premium (visor)artpicst_updater.exe- Módulo de auto-actualizaciónartpicst_installer.exe- Instalador autocontenido (incrusta visor + updater + icono + README como recursos RCDATA)artpicst.ico- Icono de la aplicaciónversion.json- Información de versión
El asset oficial de release es
artpicst-installer.exe(el instalador autocontenido renombrado): es el archivo exacto que el auto-actualizador descarga e instala. El workflow de CI (.github/workflows/release.yml) lo publica junto aartpicst-portable.zip.
artpicst.exe
artpicst.exe "C:\Fotos"
artpicst.exe "C:\Fotos\imagen.jpg"
artpicst.exe --maximized "C:\Fotos"
artpicst.exe --fullscreen "C:\Fotos"
artpicst.exe --register
artpicst.exe --unregisterEl módulo de actualización también se puede usar directamente:
artpicst_updater.exe --check # buscar actualizaciones (interactivo)
artpicst_updater.exe --forced # forzar comprobación ignorando el límite diario
artpicst_updater.exe --background # chequeo silencioso (1 vez al día)
artpicst_updater.exe --selftest # autotest (parser JSON, SHA-256, comparador de versiones)El instalador también admite modo desatendido (sin ventanas, con exit codes para scripts y CI):
artpicst_installer.exe --silent # instalación desatendida
artpicst_installer.exe --silent --dir "C:\MiCarpeta" # a una ruta concreta
artpicst_installer.exe --silent --uninstall # desinstalación desatendidaExit codes: 0 OK · 1 fallo genérico (con rollback) · 2 payload incompleto ·
3 archivos en uso (cerrar ARTPICST y reintentar).
- El visor lanza
artpicst_updater.exe --backgroundcomo máximo una vez al día (hilo en segundo plano, la UI nunca se bloquea). - El updater consulta
https://api.github.com/repos/LiebeBlack/Pic/releases/latesty compara la versión local con la publicada (soporta prefijosv, sufijos y números de más de un dígito). - Si hay versión nueva, muestra una notificación flotante minimalista con Instalar actualización ahora / Recordar más tarde y opción de instalar automáticamente futuras versiones (si se activa, los chequeos diarios descargan e instalan en silencio).
- Al aceptar: descarga
artpicst-installer.execon progreso real, verifica su hash SHA-256 y lo ejecuta con--update <payload> --dir <dir>. - El instalador sustituye los archivos, cierra el visor si sigue abierto y lo reinicia.
Sin conexión, con rate-limit de la API o si el servidor falla, el updater permanece en silencio: nunca interrumpe el uso del visor.
- Main Program: C++23 nativo con Win32 API, GDI+, WIC, stb_image (ultra-optimizado); baseline SIMD SSE4.2 sin AVX
- Installer (
installer/): wizard GDI+ autocontenido; extrae su payload RCDATA, instala con elevación UAC, rollback y modo silencioso--update; la instalación muestra 10 fases técnicas con consola de log en vivo - Updater (
updater/): módulo independiente con WinHTTP que consultareleases/latesten GitHub, compara versiones, verifica SHA-256 y encadena la instalación - Viewer ↔ Updater (
src/updater_client.hpp): chequeo diario en segundo plano y menú "Buscar actualizaciones..."
- Windows 10/11 (x64)
- CPU con SSE4.2 — Intel Nehalem / AMD Bulldozer (2008) o posterior. Los tres binarios se compilan con baseline SSE4.2 y AVX/AVX2/AVX-512 están prohibidos por diseño; el instalador verifica esta capacidad antes de instalar. Ver docs/PERFORMANCE.md.
- Visual Studio 2022 con C++ (o MinGW-w64 con GCC 13+)
- Git (para clonar el repositorio)
- Python 3 (solo para el gate de política SIMD y el icono)
- BUILD.md — compilación detallada, flags y solución de problemas
- docs/PERFORMANCE.md — baseline SIMD, kernels, cómo medir y presupuesto de memoria
- docs/INSTALL.md — instalador, rutas, accesos directos, modos silenciosos y desinstalación
- docs/UPDATER.md — arquitectura del auto-actualizador
- docs/REFACTOR_C23.md — auditoría C23/C++23 y decisiones de diseño
- CHANGELOG.md — historial de cambios
Este software es proporcionado tal cual, sin garantía de ningún tipo.
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
Para problemas o sugerencias, abre un issue en GitHub.