浏览代码

LibGfx/TIFF: Support WhiteIsZero parameter for grayscale images

PhotometricInterpretation::WhiteIsZero is used to inverse black and
white on bilevel and grayscale images.
Lucas CHOLLET 1 年之前
父节点
当前提交
3ae29fdeec
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      Userland/Libraries/LibGfx/ImageFormats/TIFFLoader.cpp

+ 5 - 1
Userland/Libraries/LibGfx/ImageFormats/TIFFLoader.cpp

@@ -97,7 +97,11 @@ private:
         }
 
         if (*m_metadata.samples_per_pixel() == 1) {
-            auto const luminosity = TRY(read_component(stream, bits_per_sample[0]));
+            auto luminosity = TRY(read_component(stream, bits_per_sample[0]));
+
+            if (m_metadata.photometric_interpretation() == PhotometricInterpretation::WhiteIsZero)
+                luminosity = ~luminosity;
+
             return Color(luminosity, luminosity, luminosity);
         }