|
|
|
@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff |
|
|
|
int offset = 0; |
|
|
|
bool isOddWidth = (width & 1) == 1; |
|
|
|
|
|
|
|
var rgba = default(Rgba32); |
|
|
|
var l8 = default(L8); |
|
|
|
for (int y = top; y < top + height; y++) |
|
|
|
{ |
|
|
|
for (int x = left; x < left + width - 1;) |
|
|
|
@ -34,14 +34,14 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff |
|
|
|
byte byteData = data[offset++]; |
|
|
|
|
|
|
|
byte intensity1 = (byte)((15 - ((byteData & 0xF0) >> 4)) * 17); |
|
|
|
rgba.PackedValue = (uint)(intensity1 | (intensity1 << 8) | (intensity1 << 16) | (0xff << 24)); |
|
|
|
color.FromRgba32(rgba); |
|
|
|
l8.PackedValue = intensity1; |
|
|
|
color.FromL8(l8); |
|
|
|
|
|
|
|
pixels[x++, y] = color; |
|
|
|
|
|
|
|
byte intensity2 = (byte)((15 - (byteData & 0x0F)) * 17); |
|
|
|
rgba.PackedValue = (uint)(intensity2 | (intensity2 << 8) | (intensity2 << 16) | (0xff << 24)); |
|
|
|
color.FromRgba32(rgba); |
|
|
|
l8.PackedValue = intensity2; |
|
|
|
color.FromL8(l8); |
|
|
|
|
|
|
|
pixels[x++, y] = color; |
|
|
|
} |
|
|
|
@ -51,8 +51,8 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff |
|
|
|
byte byteData = data[offset++]; |
|
|
|
|
|
|
|
byte intensity1 = (byte)((15 - ((byteData & 0xF0) >> 4)) * 17); |
|
|
|
rgba.PackedValue = (uint)(intensity1 | (intensity1 << 8) | (intensity1 << 16) | (0xff << 24)); |
|
|
|
color.FromRgba32(rgba); |
|
|
|
l8.PackedValue = intensity1; |
|
|
|
color.FromL8(l8); |
|
|
|
|
|
|
|
pixels[left + width - 1, y] = color; |
|
|
|
} |
|
|
|
|