Ejemplo n.º 1
0
 def testFilterScanline(self):
     prev = [20, 21, 22, 210, 211, 212]
     line = [30, 32, 34, 230, 233, 236]
     fo = 3
     out = png.filter_scanline(0, line, fo, prev)  # none
     self.assertEqual(list(out), [0, 30, 32, 34, 230, 233, 236])
     out = png.filter_scanline(1, line, fo, prev)  # sub
     self.assertEqual(list(out), [1, 30, 32, 34, 200, 201, 202])
     out = png.filter_scanline(2, line, fo, prev)  # up
     self.assertEqual(list(out), [2, 10, 11, 12, 20, 22, 24])
     out = png.filter_scanline(3, line, fo, prev)  # average
     self.assertEqual(list(out), [3, 20, 22, 23, 110, 112, 113])
     out = png.filter_scanline(4, line, fo, prev)  # paeth
     self.assertEqual(
         list(out),
         [
             4,
             self.paeth(30, 0, 20, 0),
             self.paeth(32, 0, 21, 0),
             self.paeth(34, 0, 22, 0),
             self.paeth(230, 30, 210, 20),
             self.paeth(233, 32, 211, 21),
             self.paeth(236, 34, 212, 22),
         ],
     )
Ejemplo n.º 2
0
 def testFilterScanlineFirstLine(self):
     fo = 3  # bytes per pixel
     line = [30, 31, 32, 230, 231, 232]
     out = png.filter_scanline(0, line, fo, None)  # none
     self.assertEqual(list(out), [0, 30, 31, 32, 230, 231, 232])
     out = png.filter_scanline(1, line, fo, None)  # sub
     self.assertEqual(list(out), [1, 30, 31, 32, 200, 200, 200])
     out = png.filter_scanline(2, line, fo, None)  # up
     self.assertEqual(list(out), [2, 30, 31, 32, 230, 231, 232])
     out = png.filter_scanline(3, line, fo, None)  # average
     self.assertEqual(list(out), [3, 30, 31, 32, 215, 216, 216])
     out = png.filter_scanline(4, line, fo, None)  # paeth
     self.assertEqual(list(out), [
         4, self.paeth(30, 0, 0, 0), self.paeth(31, 0, 0, 0),
         self.paeth(32, 0, 0, 0), self.paeth(230, 30, 0, 0),
         self.paeth(231, 31, 0, 0), self.paeth(232, 32, 0, 0)
         ])
Ejemplo n.º 3
0
 def testFilterScanline(self):
     prev = [20, 21, 22, 210, 211, 212]
     line = [30, 32, 34, 230, 233, 236]
     fo = 3
     out = png.filter_scanline(0, line, fo, prev)  # none
     self.assertEqual(list(out), [0, 30, 32, 34, 230, 233, 236])
     out = png.filter_scanline(1, line, fo, prev)  # sub
     self.assertEqual(list(out), [1, 30, 32, 34, 200, 201, 202])
     out = png.filter_scanline(2, line, fo, prev)  # up
     self.assertEqual(list(out), [2, 10, 11, 12, 20, 22, 24])
     out = png.filter_scanline(3, line, fo, prev)  # average
     self.assertEqual(list(out), [3, 20, 22, 23, 110, 112, 113])
     out = png.filter_scanline(4, line, fo, prev)  # paeth
     self.assertEqual(list(out), [
         4, self.paeth(30, 0, 20, 0), self.paeth(32, 0, 21, 0),
         self.paeth(34, 0, 22, 0), self.paeth(230, 30, 210, 20),
         self.paeth(233, 32, 211, 21), self.paeth(236, 34, 212, 22)
         ])
Ejemplo n.º 4
0
 def test_filter_first(self):
     """Test that filter_scanline works for the first line
     when there is no previous line.
     """
     fo = 3  # bytes per pixel
     line = [30, 31, 32, 230, 231, 232]
     out = png.filter_scanline(0, line, fo, None)  # none
     self.assertEqual(list(out), [0, 30, 31, 32, 230, 231, 232])
     out = png.filter_scanline(1, line, fo, None)  # sub
     self.assertEqual(list(out), [1, 30, 31, 32, 200, 200, 200])
     out = png.filter_scanline(2, line, fo, None)  # up
     self.assertEqual(list(out), [2, 30, 31, 32, 230, 231, 232])
     out = png.filter_scanline(3, line, fo, None)  # average
     self.assertEqual(list(out), [3, 30, 31, 32, 215, 216, 216])
     out = png.filter_scanline(4, line, fo, None)  # paeth
     self.assertEqual(list(out), [
         4, paeth(30, 0, 0, 0), paeth(31, 0, 0, 0),
         paeth(32, 0, 0, 0), paeth(230, 30, 0, 0),
         paeth(231, 31, 0, 0), paeth(232, 32, 0, 0)
     ])
Ejemplo n.º 5
0
 def test_filter(self):
     """Test that filter_scanline works for lines subsequent
     to the first line.
     """
     prev = [20, 21, 22, 210, 211, 212]
     line = [30, 32, 34, 230, 233, 236]
     fo = 3
     out = png.filter_scanline(0, line, fo, prev)  # none
     self.assertEqual(list(out), [0, 30, 32, 34, 230, 233, 236])
     out = png.filter_scanline(1, line, fo, prev)  # sub
     self.assertEqual(list(out), [1, 30, 32, 34, 200, 201, 202])
     out = png.filter_scanline(2, line, fo, prev)  # up
     self.assertEqual(list(out), [2, 10, 11, 12, 20, 22, 24])
     out = png.filter_scanline(3, line, fo, prev)  # average
     self.assertEqual(list(out), [3, 20, 22, 23, 110, 112, 113])
     out = png.filter_scanline(4, line, fo, prev)  # paeth
     self.assertEqual(list(out), [
         4, paeth(30, 0, 20, 0), paeth(32, 0, 21, 0),
         paeth(34, 0, 22, 0), paeth(230, 30, 210, 20),
         paeth(233, 32, 211, 21), paeth(236, 34, 212, 22)
     ])