예제 #1
0
        private static void TestTgaEncoderCore <TPixel>(
            TestImageProvider <TPixel> provider,
            TgaBitsPerPixel bitsPerPixel,
            TgaCompression compression = TgaCompression.None,
            bool useExactComparer      = true,
            float compareTolerance     = 0.01f)
            where TPixel : unmanaged, IPixel <TPixel>
        {
            using (Image <TPixel> image = provider.GetImage())
            {
                var encoder = new TgaEncoder {
                    BitsPerPixel = bitsPerPixel, Compression = compression
                };

                using (var memStream = new MemoryStream())
                {
                    image.Save(memStream, encoder);
                    memStream.Position = 0;
                    using (var encodedImage = (Image <TPixel>)Image.Load(memStream))
                    {
                        TgaTestUtils.CompareWithReferenceDecoder(provider, encodedImage, useExactComparer, compareTolerance);
                    }
                }
            }
        }
예제 #2
0
 public void TgaDecoder_CanDecode_Uncompressed_16Bit <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : struct, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(new TgaDecoder()))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #3
0
 public void TgaDecoder_CanDecode_RunLengthEncoded_WithTopLeftOrigin_24Bit <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : struct, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(new TgaDecoder()))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #4
0
 public void TgaDecoder_CanDecode_RunLengthEncoded_WithPalette_16Bit <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : unmanaged, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(TgaDecoder))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #5
0
 public void TgaDecoder_CanDecode_Uncompressed_MonoChrome <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : unmanaged, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(TgaDecoder))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #6
0
 public void TgaDecoder_CanDecode_WhenAlphaBitsNotSet_16Bit <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : unmanaged, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(TgaDecoder))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #7
0
 public void TgaDecoder_CanDecode_Palette_WithTopLeftOrigin_24Bit <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : unmanaged, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(TgaDecoder))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }
예제 #8
0
 public void TgaDecoder_CanDecode_RunLengthEncoded_MonoChrome <TPixel>(TestImageProvider <TPixel> provider)
     where TPixel : struct, IPixel <TPixel>
 {
     using (Image <TPixel> image = provider.GetImage(TgaDecoder))
     {
         image.DebugSave(provider);
         TgaTestUtils.CompareWithReferenceDecoder(provider, image);
     }
 }