Switch to ExifDirectory from Property

This commit is contained in:
2025-04-06 18:23:57 -07:00
parent 3f7affceef
commit c7ded16e50
50 changed files with 2647 additions and 1846 deletions

View File

@ -1,3 +1,4 @@
using System.Collections.ObjectModel;
using System.Text.Json;
using System.Text.Json.Serialization;
@ -33,13 +34,12 @@ public class Face : Properties.IFace
_OutputResolution = outputResolution;
}
public Face(Property property, int outputResolutionWidth, int outputResolutionHeight, int outputResolutionOrientation, Location? location) :
public Face(ExifDirectory exifDirectory, int outputResolutionWidth, int outputResolutionHeight, int outputResolutionOrientation, Location? location) :
this(DateTime.MinValue, null, null, null, location, null, null)
{
DateTime?[] dateTimes;
_OutputResolution = new(outputResolutionHeight, outputResolutionOrientation, outputResolutionWidth);
dateTimes = [property.CreationTime, property.LastWriteTime, property.DateTime, property.DateTimeDigitized, property.DateTimeFromName, property.DateTimeOriginal, property.GPSDateStamp];
_DateTime = (from l in dateTimes where l.HasValue select l.Value).Min();
ReadOnlyCollection<DateTime> dateTimes = Stateless.Methods.IDate.GetDateTimes(exifDirectory);
_DateTime = dateTimes.Min();
}
public override string ToString()
@ -48,12 +48,16 @@ public class Face : Properties.IFace
return result;
}
public void SetFaceEncoding(FaceEncoding faceEncoding) => _FaceEncoding = faceEncoding;
public void SetFaceEncoding(FaceEncoding faceEncoding) =>
_FaceEncoding = faceEncoding;
public void SetFaceParts(Dictionary<Stateless.FacePart, FacePoint[]> faceParts) => _FaceParts = faceParts;
public void SetFaceParts(Dictionary<Stateless.FacePart, FacePoint[]> faceParts) =>
_FaceParts = faceParts;
public void SetMapping(Mapping mapping) => _Mapping = mapping;
public void SetMapping(Mapping mapping) =>
_Mapping = mapping;
public void SetFaceDistance(FaceDistance? faceDistance) => _FaceDistance = faceDistance;
public void SetFaceDistance(FaceDistance? faceDistance) =>
_FaceDistance = faceDistance;
}