mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 07:57:27 +03:00 
			
		
		
		
	Added USE_RAW_ALPHA
This commit is contained in:
		
							parent
							
								
									6e45e71052
								
							
						
					
					
						commit
						ff47a59288
					
				|  | @ -230,3 +230,13 @@ def test_offset() -> None: | |||
|     # to exclude the palette size from the pixel data offset | ||||
|     with Image.open("Tests/images/pal8_offset.bmp") as im: | ||||
|         assert_image_equal_tofile(im, "Tests/images/bmp/g/pal8.bmp") | ||||
| 
 | ||||
| 
 | ||||
| def test_use_raw_alpha(monkeypatch: pytest.MonkeyPatch) -> None: | ||||
|     with Image.open("Tests/images/bmp/g/rgb32.bmp") as im: | ||||
|         assert im.info["compression"] == BmpImagePlugin.BmpImageFile.COMPRESSIONS["RAW"] | ||||
|         assert im.mode == "RGB" | ||||
| 
 | ||||
|     monkeypatch.setattr(BmpImagePlugin, "USE_RAW_ALPHA", True) | ||||
|     with Image.open("Tests/images/bmp/g/rgb32.bmp") as im: | ||||
|         assert im.mode == "RGBA" | ||||
|  |  | |||
|  | @ -48,6 +48,8 @@ BIT2MODE = { | |||
|     32: ("RGB", "BGRX"), | ||||
| } | ||||
| 
 | ||||
| USE_RAW_ALPHA = False | ||||
| 
 | ||||
| 
 | ||||
| def _accept(prefix: bytes) -> bool: | ||||
|     return prefix[:2] == b"BM" | ||||
|  | @ -242,7 +244,9 @@ class BmpImageFile(ImageFile.ImageFile): | |||
|                 msg = "Unsupported BMP bitfields layout" | ||||
|                 raise OSError(msg) | ||||
|         elif file_info["compression"] == self.COMPRESSIONS["RAW"]: | ||||
|             if file_info["bits"] == 32 and header == 22:  # 32-bit .cur offset | ||||
|             if file_info["bits"] == 32 and ( | ||||
|                 header == 22 or USE_RAW_ALPHA  # 32-bit .cur offset | ||||
|             ): | ||||
|                 raw_mode, self._mode = "BGRA", "RGBA" | ||||
|         elif file_info["compression"] in ( | ||||
|             self.COMPRESSIONS["RLE8"], | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user