1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-31 13:32:45 +00:00
serenity/Userland/Libraries/LibGfx/ImageFormats
Nico Weber ab143e9b0e LibGfx/BMP: Clear alpha in palette entries
The semantics of BGRx8888 aren't super clear and it means different
things for different parts of the codebase. In particular, the PNG
writer still writes the x channel to the alpha channel of its output.

In BMPs, the 4th palette byte is usually 0, which means after #21412 we
started writing all .bmp files with <= 8bpp as completely transparent
to PNGs.

This works around that.

(See also #19464 for previous similar workarounds.)

The added `bitmap.bmp` is a 1bpp file I drew in Photoshop and saved
using its "Save as..." saving path.
2024-03-05 21:27:41 +00:00
..
ISOBMFF Everywhere: Prefer {:#x} over 0x{:x} in format strings 2024-02-21 17:54:38 +01:00
BMPLoader.cpp LibGfx/BMP: Clear alpha in palette entries 2024-03-05 21:27:41 +00:00
BMPLoader.h LibGfx: Provide a default implementation for animation-related methods 2023-07-18 14:34:35 +01:00
BMPWriter.cpp
BMPWriter.h
BooleanDecoder.cpp LibGfx/LibVideo: Check for overreads only at end of a VPX range decode 2023-06-10 07:17:12 +02:00
BooleanDecoder.h LibGfx/LibVideo: Check for overreads only at end of a VPX range decode 2023-06-10 07:17:12 +02:00
CCITTDecoder.cpp LibGfx/CCITT: Reimplement PassMode in a less naive way 2024-02-22 16:45:03 +01:00
CCITTDecoder.h LibGfx/CCITT: Add support for Group4 2024-02-21 13:49:43 +01:00
DDSLoader.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DDSLoader.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
ExifOrientedBitmap.h LibGfx/ExifOrientedBitmap: Add support for CMYKBitmap 2024-01-24 22:16:22 -07:00
GIFLoader.cpp LibGfx/GIF: Avoid a silly loop in GIF logical screen parsing 2024-01-05 13:20:00 +01:00
GIFLoader.h LibGfx: Provide an implementation for ImageDecoderPlugin::icc_data() 2023-10-29 07:21:10 +00:00
ICOLoader.cpp LibGfx/ICO: Remove unused parameter 2024-02-14 06:56:03 +01:00
ICOLoader.h LibGfx/ICO: Remove unused parameter 2024-02-14 06:56:03 +01:00
ILBMLoader.cpp LibGfx/ILBMLoader: Properly display images with a bitplane mask 2024-01-18 13:59:17 +01:00
ILBMLoader.h LibGfx: Provide an implementation for ImageDecoderPlugin::icc_data() 2023-10-29 07:21:10 +00:00
ImageDecoder.cpp LibGfx: Add a .pam loader 2024-01-26 07:36:53 +01:00
ImageDecoder.h LibGfx: Remove unused parameter from cmyk_frame() 2024-01-25 15:53:44 +01:00
JPEGLoader.cpp LibGfx/JPEGLoader: Check earlier for quantization tables presence 2024-02-26 20:13:25 +00:00
JPEGLoader.h LibGfx/JPEG: Expose the Exif metadata 2024-01-22 20:16:32 -07:00
JPEGShared.h LibGfx/JPEG: Put generic definitions in a shared header 2023-06-22 21:13:04 +02:00
JPEGWriter.cpp LibGfx/JPEGWriter: Make it possible to write CMYKBitmaps 2024-02-02 07:19:18 +01:00
JPEGWriter.h LibGfx/JPEGWriter: Make it possible to write CMYKBitmaps 2024-02-02 07:19:18 +01:00
JPEGWriterTables.h LibGfx/JPEG: Add a JPEG encoder :^) 2023-06-22 21:13:04 +02:00
JPEGXLLoader.cpp LibGfx/ExifOrientedBitmap: Add support for CMYKBitmap 2024-01-24 22:16:22 -07:00
JPEGXLLoader.h LibGfx/JPEGXL: Add a JPEG-XL decoder :^) 2023-07-21 10:47:34 -06:00
PAMLoader.cpp LibGfx/PNM: Remove unnecessary line 2024-01-26 14:53:33 +01:00
PAMLoader.h LibGFX/PAM: Allow reading CMYK .pam files 2024-01-26 07:36:53 +01:00
PBMLoader.cpp LibGfx/PNM: Remove unnecessary line 2024-01-26 14:53:33 +01:00
PBMLoader.h LibGfx/PortableFormat: Propagate errors from read_image_data() 2023-03-24 10:56:58 +01:00
PGMLoader.cpp LibGfx/PNM: Remove unnecessary line 2024-01-26 14:53:33 +01:00
PGMLoader.h LibGfx/PortableFormat: Propagate errors from read_image_data() 2023-03-24 10:56:58 +01:00
PNGLoader.cpp LibGfx/PNG: Spec comment for PNGImageDecoderPlugin::unfilter_scanline() 2024-01-15 23:42:45 +01:00
PNGLoader.h LibGfx: Make unfilter_scanline() a static PNGImageDecoderPlugin method 2023-11-17 19:09:50 +01:00
PNGShared.h LibGfx+LibPDF: Create filter_type() for converting u8 to FilterType 2023-11-17 19:09:50 +01:00
PNGWriter.cpp Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
PNGWriter.h
PortableFormatWriter.cpp LibGfx/PortableFormat: Use FixedArray::unchecked_at 2023-05-09 11:18:46 +02:00
PortableFormatWriter.h LibGfx/PortableFormat+image: Make encode take a Stream 2023-05-09 11:18:46 +02:00
PortableImageLoaderCommon.h LibGfx/PNM: Remove two fixmes 2024-02-02 08:26:40 +00:00
PortableImageMapLoader.h LibGFX/PAM: Allow reading CMYK .pam files 2024-01-26 07:36:53 +01:00
PPMLoader.cpp LibGfx/PNM: Remove unnecessary line 2024-01-26 14:53:33 +01:00
PPMLoader.h LibGfx/PortableFormat: Propagate errors from read_image_data() 2023-03-24 10:56:58 +01:00
QOILoader.cpp LibGfx: Provide an implementation for ImageDecoderPlugin::icc_data() 2023-10-29 07:21:10 +00:00
QOILoader.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
QOIWriter.cpp Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
QOIWriter.h
TGALoader.cpp AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
TGALoader.h LibGfx: Provide an implementation for ImageDecoderPlugin::icc_data() 2023-10-29 07:21:10 +00:00
TIFFLoader.cpp LibGfx/TIFF: Add support for Group4Fax encoded images 2024-02-21 13:49:43 +01:00
TIFFLoader.h LibGfx/TIFF: Add an alternative entry point to only request metadata 2024-01-22 20:16:32 -07:00
TinyVGLoader.cpp LibGfx/TinyVG: Clamp RGBAF32 color values from 0 and 255 2023-12-02 10:47:39 +01:00
TinyVGLoader.h LibGfx+ImageViewer: Replace ImageDecoder::is_vector() with an enum 2024-01-10 09:39:00 +01:00
WebPLoader.cpp Everywhere: Prefer {:#x} over 0x{:x} in format strings 2024-02-21 17:54:38 +01:00
WebPLoader.h LibGfx/WebP: Decode the first chunk in create() 2023-07-15 09:34:07 +02:00
WebPLoaderLossless.cpp LibGfx/WebPLoaderLossless: Fix grammar-o in comment 2024-01-29 09:12:06 -05:00
WebPLoaderLossless.h LibGfx/WebP: Minor cosmetical changes in WebPLoaderLossless.h 2023-05-09 06:35:56 +02:00
WebPLoaderLossy.cpp LibGfx/LibVideo: Check for overreads only at end of a VPX range decode 2023-06-10 07:17:12 +02:00
WebPLoaderLossy.h WebP/Lossy: Implement macroblock coefficient decoding 2023-05-29 10:41:53 -06:00
WebPLoaderLossyTables.h WebP/Lossy: Add const annotations to functions in Tables.h 2023-06-01 16:23:46 +02:00