mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-27 09:44:31 +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