Browse Source

cleanup

pull/1935/head
Ildar Khayrutdinov 4 years ago
parent
commit
7b5dd176b2
  1. 17
      src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs
  2. 6
      src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs

17
src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs

@ -219,7 +219,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
this.Seek(tag.Offset); this.Seek(tag.Offset);
if (this.TryReadSpan(buffer)) if (this.TryReadSpan(buffer))
{ {
object value = this.ConvertValue(tag.Exif, tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); object value = this.ConvertValue(tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray);
this.Add(values, tag.Exif, value); this.Add(values, tag.Exif, value);
} }
} }
@ -241,9 +241,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
return result; return result;
} }
private byte ConvertToByte(ReadOnlySpan<byte> buffer) => buffer[0]; private static string ConvertToString(Encoding encoding, ReadOnlySpan<byte> buffer)
private string ConvertToString(Encoding encoding, ReadOnlySpan<byte> buffer)
{ {
int nullCharIndex = buffer.IndexOf((byte)0); int nullCharIndex = buffer.IndexOf((byte)0);
@ -255,7 +253,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
return encoding.GetString(buffer); return encoding.GetString(buffer);
} }
private object ConvertValue(ExifValue exifValue, ExifDataType dataType, ReadOnlySpan<byte> buffer, bool isArray) private byte ConvertToByte(ReadOnlySpan<byte> buffer) => buffer[0];
private object ConvertValue(ExifDataType dataType, ReadOnlySpan<byte> buffer, bool isArray)
{ {
if (buffer.Length == 0) if (buffer.Length == 0)
{ {
@ -267,7 +267,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
case ExifDataType.Unknown: case ExifDataType.Unknown:
return null; return null;
case ExifDataType.Ascii: case ExifDataType.Ascii:
return this.ConvertToString(ExifConstants.DefaultEncoding, buffer); return ConvertToString(ExifConstants.DefaultEncoding, buffer);
case ExifDataType.Byte: case ExifDataType.Byte:
case ExifDataType.Undefined: case ExifDataType.Undefined:
if (!isArray) if (!isArray)
@ -276,7 +276,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
} }
return buffer.ToArray(); return buffer.ToArray();
case ExifDataType.DoubleFloat: case ExifDataType.DoubleFloat:
if (!isArray) if (!isArray)
{ {
@ -415,7 +414,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
} }
else else
{ {
object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray);
this.Add(values, exifValue, value); this.Add(values, exifValue, value);
} }
} }
@ -489,7 +488,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
} }
else else
{ {
object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray);
this.Add(values, exifValue, value); this.Add(values, exifValue, value);
} }
} }

6
src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs

@ -302,7 +302,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
int newOffset = offset; int newOffset = offset;
foreach (object obj in (Array)value.GetValue()) foreach (object obj in (Array)value.GetValue())
{ {
newOffset = WriteValue(value, value.DataType, obj, destination, newOffset); newOffset = WriteValue(value.DataType, obj, destination, newOffset);
} }
return newOffset; return newOffset;
@ -378,7 +378,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
BinaryPrimitives.WriteInt32LittleEndian(destination.Slice(4, 4), value.Denominator); BinaryPrimitives.WriteInt32LittleEndian(destination.Slice(4, 4), value.Denominator);
} }
private static int WriteValue(IExifValue exifValue, ExifDataType dataType, object value, Span<byte> destination, int offset) private static int WriteValue(ExifDataType dataType, object value, Span<byte> destination, int offset)
{ {
switch (dataType) switch (dataType)
{ {
@ -457,7 +457,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
return WriteArray(exifValue, destination, offset); return WriteArray(exifValue, destination, offset);
} }
return WriteValue(exifValue, exifValue.DataType, value, destination, offset); return WriteValue(exifValue.DataType, value, destination, offset);
} }
} }
} }

Loading…
Cancel
Save