using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Metadata.Models; public record Exif(string? InteropIndex1, string? Noise37389, string? FocalPlaneXResolutionTiffEp37390, string? FocalPlaneYResolutionTiffEp37391, string? ImageNumber37393, string? SecurityClassification37394, string? ImageHistory37395, string? SubjectLocationTiffEp37396, string? ExposureIndexTiffEp37397, string? SpatialFreqResponseTiffEp37388, string? StandardIdTiffEp37398, string? UserComment37510, string? SubsecondTime37520, string? SubsecondTimeOriginal37521, string? SubsecondTimeDigitized37522, string? WinTitle40091, string? WinComment40092, string? WinAuthor40093, string? WinKeywords40094, string? Makernote37500, string? WinSubject40095, string? FlashEnergyTiffEp37387, string? Flash37385, string? IsoSpeedLatitudeYYY34868, string? IsoSpeedLatitudeZZZ34869, string? ExifVersion36864, string? DateTimeOriginal36867, string? DateTimeDigitized36868, string? TimeZone36880, string? TimeZoneOriginal36881, string? TimeZoneDigitized36882, string? FocalLength37386, string? ComponentsConfiguration37121, string? ShutterSpeed37377, string? Aperture37378, string? BrightnessValue37379, string? ExposureBias37380, string? MaxAperture37381, string? SubjectDistance37382, string? MeteringMode37383, string? WhiteBalance37384, string? CompressedAverageBitsPerPixel37122, string? IsoSpeed34867, string? FlashpixVersion40960, string? ExifImageWidth40962, string? Sharpness41994, string? DeviceSettingDescription41995, string? SubjectDistanceRange41996, string? ImageUniqueId42016, string? CameraOwnerName42032, string? BodySerialNumber42033, string? LensSpecification42034, string? LensMake42035, string? Saturation41993, string? LensModel42036, string? GdalMetadata42112, string? GdalNoData42113, string? Gamma42240, string? PrintImageMatchingInfo50341, string? PanasonicTitle50898, string? PanasonicTitle250899, string? Padding59932, string? Lens65002, string? LensSerialNumber42037, string? ColorSpace40961, string? Contrast41992, string? SceneCaptureType41990, string? ExifImageHeight40963, string? RelatedSoundFile40964, string? FlashEnergy41483, string? SpatialFreqResponse41484, string? FocalPlaneXResolution41486, string? FocalPlaneYResolution41487, string? FocalPlaneResolutionUnit41488, string? SubjectLocation41492, string? GainControl41991, string? ExposureIndex41493, string? FileSource41728, string? SceneType41729, string? CfaPattern41730, string? CustomRendered41985, string? ExposureMode41986, string? WhiteBalanceMode41987, string? DigitalZoomRatio41988, string? Film35MMEquivFocalLength41989, string? SensingMethod41495, string? RecommendedExposureIndex34866, string? StandardOutputSensitivity34865, string? SensitivityType34864, string? YResolution283, string? PlanarConfiguration284, string? PageName285, string? ResolutionUnit296, string? PageNumber297, string? TransferFunction301, string? Software305, string? DateTime306, string? XResolution282, string? Artist315, string? Predictor317, string? WhitePoint318, string? PrimaryChromaticities319, string? TileWidth322, string? TileLength323, string? TileOffsets324, string? TileByteCounts325, string? SubIfdOffset330, string? HostComputer316, string? ExtraSamples338, string? MaxSampleValue281, string? StripByteCounts279, string? InteropVersion2, string? NewSubfileType254, string? SubfileType255, string? ImageWidth256, string? ImageHeight257, string? BitsPerSample258, string? Compression259, string? PhotometricInterpretation262, string? MinSampleValue280, string? Thresholding263, string? DocumentName269, string? ImageDescription270, string? Make271, string? Model272, string? StripOffsets273, string? Orientation274, string? SamplesPerPixel277, string? RowsPerStrip278, string? FillOrder266, string? SampleFormat339, string? TransferRange342, string? JpegTables347, string? FNumber33437, string? PixelScale33550, string? IptcNaa33723, string? ModelTiePoint33922, string? PhotoshopSettings34377, string? InterColorProfile34675, string? GeoTiffGeoKeys34735, string? GeoTiffGeoDoubleParams34736, string? ExposureTime33434, string? GeoTiffGeoAsciiParams34737, string? SpectralSensitivity34852, string? IsoEquivalent34855, string? OptoElectricConversionFunction34856, string? Interlace34857, string? TimeZoneOffsetTiffEp34858, string? SelfTimerModeTiffEp34859, string? TimeZoneOffset34858, string? SelfTimerMode34859, string? ExposureProgram34850, string? Copyright33432, string? BatteryLevel33423, string? CfaPattern233422, string? JpegProc512, string? JpegRestartInterval515, string? JpegLosslessPredictors517, string? JpegPointTransforms518, string? JpegQTables519, string? JpegDcTables520, string? JpegAcTables521, string? YCbCrCoefficients529, string? YCbCrSubsampling530, string? YCbCrPositioning531, string? ReferenceBlackWhite532, string? StripRowCounts559, string? ApplicationNotes700, string? RelatedImageFileFormat4096, string? RelatedImageWidth4097, string? RelatedImageHeight4098, string? Rating18246, string? RatingPercent18249, string? CfaRepeatPatternDim33421) { public override string ToString() { string result = JsonSerializer.Serialize(this, ExifSourceGenerationContext.Default.Exif); return result; } } [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Exif))] public partial class ExifSourceGenerationContext : JsonSerializerContext { }