PCX: set every pixel of each line

Images are allocated without being initialized, so a reader must write
every pixel of every line. The PCX reader did not always:

- readImage2() and readImage4v2() decoded width / 4 and width / 2 bytes,
  so the last pixels of lines whose width is not a multiple of 4 (2 bits)
  or 2 (4 bits) were not set. They now decode every pixel.
- With a BytesPerLine smaller than a line of pixels, readImage1(),
  readImage8() and readImage24() left the end of each line unset: such
  headers are now refused by isSupported(), which replaces the check
  readImage4() had.

Added the read tests indexed2_w13.pcx and indexed4_w13.pcx, which fail
without this change.
This commit is contained in:
Ana Bobillo
2026-10-28 07:43:33 +01:00
committed by Mirco Miranda
parent 32ff79442c
commit 5e406e76ba
5 changed files with 5 additions and 16 deletions
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B