This commit is contained in:
parent
ddf47ad51b
commit
d76e133f18
31 changed files with 236 additions and 2592 deletions
|
|
@ -1,6 +1,7 @@
|
|||
using System.Drawing;
|
||||
using AutoMapper;
|
||||
using AutoMapper;
|
||||
using MaddoShared;
|
||||
using SixLabors.ImageSharp;
|
||||
using SixLabors.ImageSharp.PixelFormats;
|
||||
|
||||
namespace ImageCatalog_2.Mappings;
|
||||
|
||||
|
|
@ -15,7 +16,7 @@ public class DataModelMappingProfile : Profile
|
|||
// Paths
|
||||
.ForMember(dest => dest.DirectorySorgente, opt => opt.MapFrom(src => src.SourcePath))
|
||||
.ForMember(dest => dest.DirectoryDestinazione, opt => opt.MapFrom(src => src.DestinationPath))
|
||||
|
||||
|
||||
// Font and text settings
|
||||
.ForMember(dest => dest.DimStandard, opt => opt.MapFrom(src => src.FontSize))
|
||||
.ForMember(dest => dest.DimStandardMiniatura, opt => opt.MapFrom(src => src.FontSizeThumbnail))
|
||||
|
|
@ -25,8 +26,8 @@ public class DataModelMappingProfile : Profile
|
|||
.ForMember(dest => dest.Allineamento, opt => opt.MapFrom(src => src.HorizontalAlignment))
|
||||
.ForMember(dest => dest.Trasparenza, opt => opt.MapFrom(src => src.TextTransparency))
|
||||
.ForMember(dest => dest.Margine, opt => opt.MapFrom(src => src.TextMargin))
|
||||
.ForMember(dest => dest.FontColoreRGB, opt => opt.MapFrom(src => ColorTranslator.FromHtml(src.TextColorRGB)))
|
||||
|
||||
.ForMember(dest => dest.FontColoreRGB, opt => opt.MapFrom(src => ParseColor(src.TextColorRGB)))
|
||||
|
||||
// Thumbnail settings
|
||||
.ForMember(dest => dest.AltezzaSmall, opt => opt.MapFrom(src => src.ThumbnailHeight))
|
||||
.ForMember(dest => dest.LarghezzaSmall, opt => opt.MapFrom(src => src.ThumbnailWidth))
|
||||
|
|
@ -34,14 +35,14 @@ public class DataModelMappingProfile : Profile
|
|||
.ForMember(dest => dest.CreaMiniature, opt => opt.MapFrom(src => src.CreateThumbnails))
|
||||
.ForMember(dest => dest.JpegQualityMin, opt => opt.MapFrom(src => src.JpegQualityThumbnail))
|
||||
.ForMember(dest => dest.DimMin, opt => opt.MapFrom(src => src.FontSizeThumbnail))
|
||||
|
||||
|
||||
// Big photo settings
|
||||
.ForMember(dest => dest.AltezzaBig, opt => opt.MapFrom(src => src.PhotoBigHeight))
|
||||
.ForMember(dest => dest.LarghezzaBig, opt => opt.MapFrom(src => src.PhotoBigWidth))
|
||||
.ForMember(dest => dest.FotoGrandeDimOrigina, opt => opt.MapFrom(src => src.KeepOriginalDimensions))
|
||||
.ForMember(dest => dest.JpegQuality, opt => opt.MapFrom(src => src.JpegQuality))
|
||||
.ForMember(dest => dest.Codice, opt => opt.MapFrom(src => src.BigPhotoSuffix))
|
||||
|
||||
|
||||
// Logo settings
|
||||
.ForMember(dest => dest.LogoAggiungi, opt => opt.MapFrom(src => src.AddLogo))
|
||||
.ForMember(dest => dest.LogoNomeFile, opt => opt.MapFrom(src => src.LogoFile))
|
||||
|
|
@ -51,15 +52,15 @@ public class DataModelMappingProfile : Profile
|
|||
.ForMember(dest => dest.LogoTrasparenza, opt => opt.MapFrom(src => src.LogoTransparency.ToString()))
|
||||
.ForMember(dest => dest.LogoPosizioneH, opt => opt.MapFrom(src => src.LogoHorizontalPosition))
|
||||
.ForMember(dest => dest.LogoPosizioneV, opt => opt.MapFrom(src => src.LogoVerticalPosition))
|
||||
|
||||
|
||||
// Text content
|
||||
.ForMember(dest => dest.TestoFirmaStart, opt => opt.MapFrom(src => src.HorizontalText))
|
||||
.ForMember(dest => dest.TestoFirmaStartV, opt => opt.MapFrom(src => src.VerticalText))
|
||||
|
||||
|
||||
// Vertical text settings
|
||||
.ForMember(dest => dest.DimVert, opt => opt.MapFrom(src => src.VerticalTextSize))
|
||||
.ForMember(dest => dest.MargVert, opt => opt.MapFrom(src => src.VerticalTextMargin))
|
||||
|
||||
|
||||
// Boolean flags
|
||||
.ForMember(dest => dest.UsaRotazioneAutomatica, opt => opt.MapFrom(src => src.AutomaticRotation))
|
||||
.ForMember(dest => dest.UsaForzaJpg, opt => opt.MapFrom(src => src.ForceJpeg))
|
||||
|
|
@ -68,18 +69,18 @@ public class DataModelMappingProfile : Profile
|
|||
.ForMember(dest => dest.UsaOrarioTestoApplicare, opt => opt.MapFrom(src => src.AddTime))
|
||||
.ForMember(dest => dest.UsaTempoGaraTestoApplicare, opt => opt.MapFrom(src => src.AddRaceTime))
|
||||
.ForMember(dest => dest.OverwriteFiles, opt => opt.MapFrom(src => src.OverwriteImages))
|
||||
|
||||
|
||||
// Additional settings
|
||||
.ForMember(dest => dest.UsaOrarioMiniatura, opt => opt.MapFrom(src => src.ThumbnailOption == ImageCatalog_2.DataModel.ThumbnailOptionEnum.Time))
|
||||
.ForMember(dest => dest.DataPartenza, opt => opt.MapFrom(src => src.RaceStartDate))
|
||||
.ForMember(dest => dest.TestoOrario, opt => opt.MapFrom(src => src.TimeLabel))
|
||||
.ForMember(dest => dest.TestoMin, opt => opt.MapFrom(src => src.ThumbnailOption == ImageCatalog_2.DataModel.ThumbnailOptionEnum.FileName))
|
||||
|
||||
|
||||
// Thumbnail text options
|
||||
.ForMember(dest => dest.AggiungiScritteMiniature, opt => opt.MapFrom(src => src.ThumbnailOption == ImageCatalog_2.DataModel.ThumbnailOptionEnum.Text))
|
||||
.ForMember(dest => dest.AggTempoGaraMin, opt => opt.MapFrom(src => src.ThumbnailOption == ImageCatalog_2.DataModel.ThumbnailOptionEnum.RaceTime))
|
||||
.ForMember(dest => dest.AggNumTempMin, opt => opt.MapFrom(src => src.ThumbnailOption == ImageCatalog_2.DataModel.ThumbnailOptionEnum.FileNameAndTime))
|
||||
|
||||
|
||||
// Ignore unmapped properties
|
||||
.ForMember(dest => dest.DestDir, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.SecretDefault, opt => opt.Ignore())
|
||||
|
|
@ -91,4 +92,27 @@ public class DataModelMappingProfile : Profile
|
|||
.ForMember(dest => dest.FotoRuotaASinistra, opt => opt.Ignore())
|
||||
.ForMember(dest => dest.TempMinText, opt => opt.Ignore());
|
||||
}
|
||||
|
||||
private static Rgba32 ParseColor(string? value)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(value))
|
||||
{
|
||||
return new Rgba32(255, 255, 0, 255);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var normalized = value.Trim();
|
||||
if (normalized.Length == 6 && normalized.All(Uri.IsHexDigit))
|
||||
{
|
||||
normalized = "#" + normalized;
|
||||
}
|
||||
|
||||
return Color.Parse(normalized).ToPixel<Rgba32>();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new Rgba32(255, 255, 0, 255);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue