Skip to content

Draft: 462799 462925 Assorted EXR and TIFF improvements

Amy spark requested to merge lsegovia/krita:work/amyspark/461975-bugs into master

In bug 461975 several issues were reported with the TIFF and EXR exporters. I've split those that I was able to diagnose into separate ones, and fixed them in this MR.

While at it, I've fixed many issues with the code flow and implemented some bits that were dealt with inconsistently or uncleanly, in particular the strip writing code.

As part of the triaging of the main bug, I found that:

  • LibTiff needs read/write access to the output file
  • we never exported each layer's name
  • we never stopped the export appropriately on field setting or IFD writing failure

TODO

  • check why CMYK floating point export still results in visible vertical glitches on tile boundaries
  • how do we handle alpha when it's checked out by default? Should we composite the projection and set pixels by default to opaque or white? Currently transparent pixels are considered as black.

BUG: 462799

BUG: 462925

CCBUG: 461975

Test Plan

Build Krita and export the files presented in 461975 manually, both with and without "Flatten" enabled.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by Amy spark

Merge request reports