Fredrik Lundh avatar Fredrik Lundh committed 0f58c9d

Don't pretend that rankfilters work on palette images.

Comments (0)

Files changed (2)

PIL/ImageFilter.py

         self.rank = rank
 
     def filter(self, image):
+        if image.mode == "P":
+            raise ValueError("cannot filter palette images")
         image = image.expand(self.size/2, self.size/2)
         return image.rankfilter(self.size, self.rank)
 

Tests/test_image_filter.py

 
     assert_equal(rankfilter("1"), (0, 4, 8))
     assert_equal(rankfilter("L"), (0, 4, 8))
-    # assert_exception(ValueError, lambda: rankfilter("P"))
+    assert_exception(ValueError, lambda: rankfilter("P"))
     assert_equal(rankfilter("RGB"), ((0, 0, 0), (4, 0, 0), (8, 0, 0)))
     assert_equal(rankfilter("I"), (0, 4, 8))
     assert_equal(rankfilter("F"), (0.0, 4.0, 8.0))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.