mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 07:57:27 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from PIL import Image, ImageQt
 | |
| 
 | |
| from .helper import PillowTestCase, assert_image_equal, hopper
 | |
| from .test_imageqt import PillowQtTestCase
 | |
| 
 | |
| 
 | |
| class TestFromQImage(PillowQtTestCase, PillowTestCase):
 | |
|     def setUp(self):
 | |
|         super().setUp()
 | |
|         self.files_to_test = [
 | |
|             hopper(),
 | |
|             Image.open("Tests/images/transparent.png"),
 | |
|             Image.open("Tests/images/7x13.png"),
 | |
|         ]
 | |
|         for im in self.files_to_test:
 | |
|             self.addCleanup(im.close)
 | |
| 
 | |
|     def roundtrip(self, expected):
 | |
|         # PIL -> Qt
 | |
|         intermediate = expected.toqimage()
 | |
|         # Qt -> PIL
 | |
|         result = ImageQt.fromqimage(intermediate)
 | |
| 
 | |
|         if intermediate.hasAlphaChannel():
 | |
|             assert_image_equal(result, expected.convert("RGBA"))
 | |
|         else:
 | |
|             assert_image_equal(result, expected.convert("RGB"))
 | |
| 
 | |
|     def test_sanity_1(self):
 | |
|         for im in self.files_to_test:
 | |
|             self.roundtrip(im.convert("1"))
 | |
| 
 | |
|     def test_sanity_rgb(self):
 | |
|         for im in self.files_to_test:
 | |
|             self.roundtrip(im.convert("RGB"))
 | |
| 
 | |
|     def test_sanity_rgba(self):
 | |
|         for im in self.files_to_test:
 | |
|             self.roundtrip(im.convert("RGBA"))
 | |
| 
 | |
|     def test_sanity_l(self):
 | |
|         for im in self.files_to_test:
 | |
|             self.roundtrip(im.convert("L"))
 | |
| 
 | |
|     def test_sanity_p(self):
 | |
|         for im in self.files_to_test:
 | |
|             self.roundtrip(im.convert("P"))
 |