GraphicsMagick: coders/bmp.c Reveal a contents of OS22XBITMAPHEA...
GraphicsMagick Commits <[email protected]> Sat, 19 Aug 2023 08:12:51 -0500
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.10514.1692450782.1439.graphicsmagick-commit@lists.sourceforge.net> |
changeset a94c4fc24e8c in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=a94c4fc24e8c summary: coders/bmp.c Reveal a contents of OS22XBITMAPHEADER. diffstat: ChangeLog | 4 ++++ coders/bmp.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 0 deletions(-) diffs (56 lines): diff -r 936b3e87f6f1 -r a94c4fc24e8c ChangeLog --- a/ChangeLog Fri Aug 18 08:09:34 2023 -0500 +++ b/ChangeLog Sat Aug 19 15:12:22 2023 +0200 @@ -1,3 +1,7 @@ +2023-08-19 Fojtik Jaroslav <[email protected]> + + * coders/bmp.c Reveal a contents of OS22XBITMAPHEADER. + 2023-08-17 Fojtik Jaroslav <[email protected]> * coders/bmp.c Do not throttle on native low endian systems. diff -r 936b3e87f6f1 -r a94c4fc24e8c coders/bmp.c --- a/coders/bmp.c Fri Aug 18 08:09:34 2023 -0500 +++ b/coders/bmp.c Sat Aug 19 15:12:22 2023 +0200 @@ -817,6 +817,41 @@ " Important colors: %u",bmp_info.colors_important); } + if(bmp_info.size==64) + { /* OS22XBITMAPHEADER */ + magick_uint16_t Units; /* Type of units used to measure resolution */ + magick_uint16_t Reserved; /* Pad structure to 4-byte boundary */ + magick_uint16_t Recording; /* Recording algorithm */ + magick_uint16_t Rendering; /* Halftoning algorithm used */ + magick_uint32_t Size1; /* Reserved for halftoning algorithm use */ + magick_uint32_t Size2; /* Reserved for halftoning algorithm use */ + magick_uint32_t ColorEncoding; /* Color model used in bitmap */ + magick_uint32_t Identifier; /* Reserved for application use */ + Units = ReadBlobLSBShort(image); + Reserved = ReadBlobLSBShort(image); + Recording = ReadBlobLSBShort(image); + Rendering = ReadBlobLSBShort(image); + Size1 = ReadBlobLSBLong(image); + Size2 = ReadBlobLSBLong(image); + ColorEncoding = ReadBlobLSBLong(image); + Identifier = ReadBlobLSBLong(image); + + if(logging) + (void) LogMagickEvent(CoderEvent,GetMagickModule(), + " OS22XBITMAPHEADER header: %u\n" + " Units: %u\n" + " Reserved: %u" + " Recording: %u\n" + " Rendering: %u\n" + " Size1: %u\n" + " Size2: %u\n" + " ColorEncoding: %u\n" + " Identifier: %u", + Units, Reserved, Recording, Rendering, + Size1, Size2, ColorEncoding, Identifier); + + } + if (bmp_info.size >= 52 && bmp_info.size!=64) { bmp_info.red_mask=ReadBlobLSBLong(image);