Browse Source

Merge branch 'master' into 718-gray8-gray16

pull/729/head
Anton Firsov 8 years ago
committed by GitHub
parent
commit
21853e6d8d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/ImageSharp/Formats/Png/PngScanlineProcessor.cs
  2. 3
      tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs
  3. 1
      tests/ImageSharp.Tests/TestImages.cs
  4. BIN
      tests/Images/Input/Png/gray-1-trns.png

6
src/ImageSharp/Formats/Png/PngScanlineProcessor.cs

@ -69,6 +69,7 @@ namespace SixLabors.ImageSharp.Formats.Png
}
else
{
byte scaledLuminanceTrans = (byte)(luminanceTrans * scaleFactor);
Rgba32 rgba32 = default;
for (int x = 0; x < header.Width; x++)
{
@ -76,7 +77,7 @@ namespace SixLabors.ImageSharp.Formats.Png
rgba32.R = luminance;
rgba32.G = luminance;
rgba32.B = luminance;
rgba32.A = luminance.Equals(luminanceTrans) ? byte.MinValue : byte.MaxValue;
rgba32.A = luminance.Equals(scaledLuminanceTrans) ? byte.MinValue : byte.MaxValue;
pixel.PackFromRgba32(rgba32);
Unsafe.Add(ref rowSpanRef, x) = pixel;
@ -141,6 +142,7 @@ namespace SixLabors.ImageSharp.Formats.Png
}
else
{
byte scaledLuminanceTrans = (byte)(luminanceTrans * scaleFactor);
Rgba32 rgba32 = default;
for (int x = pixelOffset; x < header.Width; x += increment)
{
@ -148,7 +150,7 @@ namespace SixLabors.ImageSharp.Formats.Png
rgba32.R = luminance;
rgba32.G = luminance;
rgba32.B = luminance;
rgba32.A = luminance.Equals(luminanceTrans) ? byte.MinValue : byte.MaxValue;
rgba32.A = luminance.Equals(scaledLuminanceTrans) ? byte.MinValue : byte.MaxValue;
pixel.PackFromRgba32(rgba32);
Unsafe.Add(ref rowSpanRef, x) = pixel;

3
tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs

@ -40,7 +40,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
TestImages.Png.VimImage2,
TestImages.Png.Rgb24BppTrans,
TestImages.Png.GrayAlpha8Bit
TestImages.Png.GrayAlpha8Bit,
TestImages.Png.Gray1BitTrans
};
public static readonly string[] TestImages48Bpp =

1
tests/ImageSharp.Tests/TestImages.cs

@ -45,6 +45,7 @@ namespace SixLabors.ImageSharp.Tests
public const string Kaboom = "Png/kaboom.png";
public const string PDSrc = "Png/pd-source.png";
public const string PDDest = "Png/pd-dest.png";
public const string Gray1BitTrans = "Png/gray-1-trns.png";
// Filtered test images from http://www.schaik.com/pngsuite/pngsuite_fil_png.html
public const string Filter0 = "Png/filter0.png";

BIN
tests/Images/Input/Png/gray-1-trns.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Loading…
Cancel
Save