<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 30, 2021 at 3:02 PM Ulrike Fischer <<a href="mailto:luatex@nililand.de">luatex@nililand.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
I lost transparency in a png used in a pdf 2.0 document. <br>
<br>
It looks as if luatex decides if to use a /Smask by looking only at<br>
the minor version. So 1.4-1.9 work, 2.0-2.3 fail, 2.4 works again<br>
<br>
<br>
\pdfvariable compresslevel=0<br>
\pdfvariable objcompresslevel=0<br>
\pdfvariable majorversion =2<br>
\pdfvariable minorversion =0 % or 4<br>
\saveimageresource {transparent.png}<br>
\useimageresource\lastsavedimageresourceindex<br>
xxx<br>
\bye<br>
<br>
Result <br>
<br>
minor 0:<br>
<< /Type /XObject /Subtype /Image /Width 50 /Height 50<br>
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 7500 >><br>
<br>
minor 4:<br>
<< /Type /XObject /Subtype /Image /Width 50 /Height 50<br>
/BitsPerComponent 8 /ColorSpace /DeviceRGB /SMask 7 0 R /Length 7500<br>
>><br>
<br>
transparent.png is an arbitrary image with transparency.<br></blockquote><div><br></div><div>yes,  we assume   majorversion=1 </div></div><div>490             /*tex alpha channel support */  <br>491             if (pdf->minor_version < 4   <br>492                 && png_get_color_type(png_p, info_p) | PNG_COLOR_MASK_ALPHA) { <br>493                 png_set_strip_alpha(png_p); <br>494                 png_copy = false;<br>495             }                                       <br></div><div><br></div><div>What are the rules for png  when  majorversion=2 ? </div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">luigi<br></div></div>