Cayaqui.MPS.Images
0.1.1
dotnet add package Cayaqui.MPS.Images --version 0.1.1
NuGet\Install-Package Cayaqui.MPS.Images -Version 0.1.1
<PackageReference Include="Cayaqui.MPS.Images" Version="0.1.1" />
<PackageVersion Include="Cayaqui.MPS.Images" Version="0.1.1" />
<PackageReference Include="Cayaqui.MPS.Images" />
paket add Cayaqui.MPS.Images --version 0.1.1
#r "nuget: Cayaqui.MPS.Images, 0.1.1"
#:package Cayaqui.MPS.Images@0.1.1
#addin nuget:?package=Cayaqui.MPS.Images&version=0.1.1
#tool nuget:?package=Cayaqui.MPS.Images&version=0.1.1
Cayaqui.MPS.Images
Servicio de gestión de imágenes para .NET 10: validación, EXIF + GPS, auto-rotate, HEIC → JPG, resize, crop cuadrado (avatares), watermark, thumbnails, SHA-256 para dedup. Backend: Magick.NET (Apache 2.0).
Distribución propietaria — requiere contrato comercial con Cayaqui. Ver
LICENSE.txt.
Casos de uso
- Fotos de capataz en field (MAUI / Blazor oficina técnica)
- Fotos de perfil / avatares de usuarios
- Evidencia fotográfica de documentos
- Inyección de imágenes procesadas en
Cayaqui.MPS.Reports(PDF / Word / Excel)
Instalación
dotnet add package Cayaqui.MPS.Images
builder.Services.AddMpsImages();
// Si usás ProcessAndStoreAsync, también:
builder.Services.AddMpsStorage(opt => opt.UseAzureBlob("..."));
Quick start
@inject IImageService Images
var result = await Images.ProcessAsync(file.OpenReadStream(), new ImageProcessOptions
{
ResizeMaxDimension = 2048,
CropMode = CropMode.SquareCenter, CropToSize = 512, // solo para avatares
ThumbnailSizes = new[] { 128, 512 },
WatermarkText = "ACME · 2026-04-24",
StripExifOnOutput = true // privacy default
});
// result.Primary = byte[] del JPG procesado
// result.Thumbnails[128] = thumbnail 128px
// result.Metadata.Sha256 = hash para dedup
// result.Metadata.TakenAt, Latitude, Longitude = EXIF extraído
Deployment
Azure Container Apps compatible con caveats:
- Base image glibc (
aspnet:10.0Debian OK;-alpineno) - ≥1GB RAM por replica
- KEDA
concurrentRequests: 5recomendado
Ver docs/infrastructure/images.md para Dockerfile + deployment notes completos.
Requisitos
- .NET 10.0+
- Para HEIC: backend Linux/Windows/macOS (Magick.NET bundlea libheif)
- Para
ProcessAndStoreAsync:Cayaqui.MPS.Storageregistrado
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cayaqui.MPS.Storage (>= 0.2.0)
- Magick.NET-Q8-AnyCPU (>= 14.12.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release. IImageService with Magick.NET backend: validation, EXIF/GPS extraction, auto-rotate, HEIC→JPG, resize, crop, watermark, thumbnails, SHA-256 dedup. Optional Storage integration via ProcessAndStoreAsync.