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);
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);
}
}
@ -241,9 +241,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
return result;
}
private byte ConvertToByte(ReadOnlySpan<byte> buffer) => buffer[0];
private string ConvertToString(Encoding encoding, ReadOnlySpan<byte> buffer)
private static string ConvertToString(Encoding encoding, ReadOnlySpan<byte> buffer)
{
int nullCharIndex = buffer.IndexOf((byte)0);
@ -255,7 +253,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
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)
{
@ -267,7 +267,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
case ExifDataType.Unknown:
return null;
case ExifDataType.Ascii:
return this.ConvertToString(ExifConstants.DefaultEncoding, buffer);
return ConvertToString(ExifConstants.DefaultEncoding, buffer);
case ExifDataType.Byte:
case ExifDataType.Undefined:
if (!isArray)
@ -276,7 +276,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
}
return buffer.ToArray();
case ExifDataType.DoubleFloat:
if (!isArray)
{
@ -415,7 +414,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
}
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);
}
}
@ -489,7 +488,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
}
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);
}
}

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

@ -302,7 +302,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
int newOffset = offset;
foreach (object obj in (Array)value.GetValue())
{
newOffset = WriteValue(value, value.DataType, obj, destination, newOffset);
newOffset = WriteValue(value.DataType, obj, destination, newOffset);
}
return newOffset;
@ -378,7 +378,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
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)
{
@ -457,7 +457,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
return WriteArray(exifValue, destination, offset);
}
return WriteValue(exifValue, exifValue.DataType, value, destination, offset);
return WriteValue(exifValue.DataType, value, destination, offset);
}
}
}

Loading…
Cancel
Save